Golfscript, 114 112 111 110 109 65 (86) caracteres
Si no le interesa obtener resultados esta semana, 65 caracteres son suficientes:
~](;2/0\:X{~\.X{0=}%^\{\.@- 1928049029:P.,\@{@*\%(!}++?**}+/+P%}/
Pero si buscas eficiencia, es un poco más largo con 86 caracteres:
~](;2/0\:X{~\.X{0=}%^\{\[.0](@-[1928049029:P%P]{.~/{\.(;@@~@*-+\}+2*.1=}do;0=*}+/+P%}/
Esto se analiza con mucho más detalle de lo que quiero repetir aquí en mi blog .
Principalmente no es mi trabajo, pero el hecho de que Nabb se mueva fuertemente da 47 caracteres:
n%(!\:A{~A{~;.3$- 1928049029:N((?1or**}/\/+N%}/
Nota: Solo he razonado sobre este código: intentar ejecutarlo no tendría sentido dada la cantidad de tiempo y la cantidad de memoria que usaría.
{*N%2<}
con{*N%1=}
como en el blog y puede deshacerse del(;
despuésN,
. Pero luego, para la entrada de rendimiento es irrelevante, puede usar el pequeño teorema de Fermat sin preocuparse por el lado modular de la exponenciación, solo déjelo para el orden final, de modo que recip se conviertaN((?
.{*N%1=}+
perderá el caso con el denominador cero, que tomaría al menos 3 caracteres para manejar. Sin embargo, es bueno hacer simplemente x ^ (N-2), de hecho podemos obtener 46 caracteres con esto.Lua 444 Chars
Funciona para el ejemplo en la página wiki
Pero de alguna manera no funciona para los ejemplos aquí en esta página. Si alguien puede encontrar el error?
Versión sin golf:
Golfizado (sin campo finito), 444 caracteres:
fuente
Java,
435407 caracteresSin golf:
fuente
Haskell, 183
fuente