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)))))
Cette version imprimera également toutes les permutations de chaque solution:
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
...
Et oui, cela crée une liste beaucoup trop longue g
. On s'en fout? :-)
Version non golfée:
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
la source
la source
Réponses:
Gelée , 19 octets (mais très lente - avis demandé)
Essayez-le en ligne!
Si vous avez des idées pour le rendre plus rapide et plus court, faites-le moi savoir!
la source
ṗЀ5
produit toutes les combinaisons de nombres premiers avec des longueurs de un à cinq.S=¥
vérifie si la somme de l'un des éléments est égale à l'argument de la chaîne etÐf
ne conserve que ces éléments.Ẏ
n'est là que pour mettre toutes les listes de nombres premiers au même niveau dans la listeⱮ
etƇ
ont été ajoutés comme alias pourЀ
etÐf