O número de Graham termina em 7. É um número massivo, em teoria exigindo mais informações para armazenar do que o tamanho do próprio universo. No entanto, é possível calcular os últimos dígitos do número de Graham.
Os últimos dígitos são:
02425950695064738395657479136519351798334535362521
43003540126026771622672160419810652263169355188780
38814483140652526168785095552646051071172000997092
91249544378887496062882911725063001303622934916080
25459461494578871427832350829242102091825896753560
43086993801689249889268099510169055919951195027887
17830837018340236474548882222161573228010132974509
27344594504343300901096928025352751833289884461508
94042482650181938515625357963996189939679054966380
03222348723967018485186439059104575627262464195387
Seu programa não pode conter esses (ou números semelhantes), mas deve calculá-los. Ele deve calcular 200 dígitos ou mais.
Saída para stdout. Tempo de execução de no máximo 2 minutos em hardware decente. O programa mais curto vence.
3**7625597484987
enquanto Python faz :)Respostas:
dc - 21 caracteres
Isso leva cerca de um minuto no meu computador e levaria muito mais tempo para valores maiores que 200. Não gera zeros à esquerda.
Aqui está uma versão um pouco mais longa, mas mais rápida (26 caracteres):
fonte
Haskell, 99
O desempenho não é estelar, mas ele consegue calcular 500 dígitos em um minuto no meu hardware de uma década.
(btw, eu adoraria ouvir sobre seu desempenho em hardware mais moderno)
fonte
ghc -o g.exe g.hs
. Não tenho certeza se essa é a melhor maneira de compilar.ghc -O3 graham.hs
As opções recomendadas pelo médico on-line parecem ser-O2 -fvia-C
. (e parece que minha GHC é alguns lançamentos por trás já)-O3
e-O2 -fvia-C
, em cerca de 18,3 segundos.Python - 41 caracteres
499 dígitos
500 dígitos
fonte
Python -
625955 caracteresDemora cerca de 12 segundos no meu PC.
fonte
10**500
Axioma, 63 bytes
ungolf e resultado
# a = 203 significa que o número len é> 200, mas também não possui 0 primeiro ...
fonte
Headsecks, 602 bytes
Imprime os últimos 200 dígitos.
Remova as novas linhas antes de executar.
fonte