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)))))
Diese Version druckt auch alle Permutationen jeder Lösung:
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
...
Und ja, es erstellt eine viel zu lange Liste g
. Wen interessiert das? :-)
Ungolfed-Version:
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
quelle
quelle
Antworten:
Jelly , 19 Bytes (aber sehr langsam - Beratung erwünscht)
Probieren Sie es online!
Wenn Sie Ideen haben, es schneller und kürzer zu machen, lassen Sie es mich bitte wissen!
quelle
ṗЀ5
Erzeugt alle Kombinationen von Primzahlen mit den Längen eins bis fünf.S=¥
prüft, ob die Summe eines der Elemente mit dem Argument der Kette übereinstimmt undÐf
behält nur diese Elemente bei.Ẏ
gibt es nur, um alle Listen der Primzahlen auf den gleichen Stand in die Liste zu setzenⱮ
undƇ
wurden als Aliase fürЀ
andÐf