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 versión también imprimirá todas las permutaciones de cada solución:
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
...
Y sí, crea una lista demasiado larga g
. ¿A quien le importa? :-)
Versión sin golf:
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
fuente
fuente
Respuestas:
Jelly , 19 bytes (pero muy lento, se necesitan consejos)
Pruébalo en línea!
Si tiene alguna idea para hacerlo más rápido y más corto, ¡hágamelo saber!
fuente
ṗЀ5
produce todas las combinaciones de primos con longitudes de uno a cinco.S=¥
comprueba si la suma de uno de los elementos es igual al argumento de la cadena yÐf
conserva solo esos elementos.Ẏ
solo está ahí para poner todas las listas de números primos al mismo nivel en la listaⱮ
yƇ
se han agregado como alias paraЀ
yÐf