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)))))
Esta versão também imprimirá todas as permutações de todas as soluções:
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
...
E sim, ele cria uma lista muito longa g
. Quem se importa? :-)
Versão não destruída:
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
fonte
fonte
Respostas:
Geléia , 19 bytes (mas muito lento - são necessários conselhos)
Experimente online!
Se você tiver alguma idéia para torná-lo mais rápido e mais curto, entre em contato!
fonte
ṗЀ5
produz todas as combinações de números primos com comprimentos de um a cinco.S=¥
verifica se a soma de um dos elementos é igual ao argumento da cadeia eÐf
mantém apenas esses elementos.Ẏ
está lá apenas para colocar todas as listas de números primos no mesmo nível na listaⱮ
eƇ
foram adicionados como aliases paraЀ
eÐf