MuPAD 113 - 8 = 105
g:=[0,ithprime(i)$i=1..n]:f:=_for_in:f(l,g,f(d,g,f(b,g,f(a,g,f(c,g,if l+d+b+a+c=n then print(l,d,b,a,c)end)))))
Ta wersja wydrukuje również wszystkie permutacje każdego rozwiązania:
0, 0, 0, 0, 7
0, 0, 0, 2, 5
0, 0, 0, 5, 2
0, 0, 0, 7, 0
0, 0, 2, 0, 5
...
I tak, tworzy zbyt długą listę g
. Kogo to obchodzi? :-)
Wersja bez golfa:
g:=[0].select([$1..n],isprime):
for l in g do
for d in g do
for b in g do
for a in g do
for c in g do
if l+d+b+a+c=n then print(l,d,b,a,c); end;
end
end
end
end
end
Christopher Creutzig
źródło
źródło
Odpowiedzi:
Galaretka , 19 bajtów (ale bardzo wolno - potrzebna rada)
Wypróbuj online!
Jeśli masz jakieś pomysły, aby uczynić go szybszym i krótszym, daj mi znać!
źródło
ṗЀ5
produkuje wszystkie kombinacje liczb pierwszych o długości od jednego do pięciu.S=¥
sprawdza, czy suma jednego z elementów jest równa argumentowi łańcucha iÐf
zachowuje tylko te elementy.Ẏ
jest tylko po to, aby umieścić wszystkie listy liczb pierwszych na tym samym poziomie na liścieⱮ
iƇ
zostały dodane jako aliasy dlaЀ
iÐf