Seu objetivo é escrever um programa que imprima um número. Quanto maior o número, mais pontos você receberá. Mas tenha cuidado! O comprimento do código é limitado e pesa bastante na função de pontuação. Seu número impresso será dividido pelo cubo do número de bytes que você usou para sua solução .
Então, digamos que você tenha impresso 10000000
e seu código tenha 100
bytes. Sua pontuação final será 10000000 / 100^3 = 10
.
Existem outras regras a serem seguidas, a fim de dificultar um pouco esse desafio.
- Você não pode usar dígitos no seu código (0123456789);
- Você pode usar matemático / físico / etc. constantes, mas apenas se forem menores que 10. (por exemplo, você pode usar Pi ~ = 3,14, mas não pode usar a constante Avogadro = 6e23)
- A recursão é permitida, mas o número gerado precisa ser finito (o infinito não é aceito como solução. Seu programa precisa terminar corretamente, assumindo tempo e memória ilimitados e gerar a saída solicitada);
- Você não pode usar as operações
*
(multiplicar),/
(dividir),^
(poder) nem qualquer outra maneira de indicá-las (por exemplo,2 div 2
não é permitido); - Seu programa pode gerar mais de um número, se você precisar fazer isso . Somente o mais alto contará para pontuação;
- No entanto, você pode concatenar seqüências de caracteres: isso significa que qualquer sequência de dígitos adjacentes será considerada como um único número;
- Seu código será executado como está. Isso significa que o usuário final não pode editar nenhuma linha de código, nem pode inserir um número ou qualquer outra coisa;
- O tamanho máximo do código é 100 bytes.
Entre os melhores
- Steven H. , Pyth ≈ f φ (1,0,0) +7 (256 26 ) / 1000000 [1]
- Arte Simplesmente Bela , Ruby φ f φ 121 (ω) (126) [1]
- Peter Taylor , GolfScript 0 f ε 0 + ω + 1 (17) / 1000 [1]
- res , GolfScript ≈ f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (f ε 0 (126))))))))))) [1]
- Arte Simplesmente Bela , Ruby +1 f ω ω2 +1 (1983)
- eaglgenes101 , Julia ≈ f ω3 (127)
- col6y , Python 3, ≈ (127 → 126 → ... → 2 → 1) / 99 3 [1] [3]
- Toeofdoom , Haskell, ≈ a 20 (1) / 99 3 [1]
- Fraxtil , dc, ≈ 15 ↑ ¹⁶⁶⁶⁶⁶⁵ 15/100 3 [3]
- Magenta , Python, ≈ ack (126,126) / 100 3 ≈ 10 ↑ 124 129
- Kendall Frey , ECMAScript 6, ≈ 10 3 ↑ 4 3 /100 3 [1]
- Ilmari Karonen , GolfScript, ≈ 10 ↑ três 10 377 /18 de 3 [1]
- BlackCap , Haskell, ≈ 10 ↑↑ 65503/100 3
- recursiva , Python, ≈ 2 ↑↑ 11/95 3 ≈ 10 ↑↑ 8.63297 [1] [3]
- nm , Haskell, ≈ 2 ↑↑ 7/100 3 ≈ 10 ↑↑ 4.63297 [1]
- David guinada , C, ≈ 10 10 4 × 10 22 de / 83 3 ≈ 10 ↑↑ 4,11821 [2]
- primo , Perl, ≈ 10 (12750684161!) 5 x 2 27 de / 100 3 ≈ 10 ↑↑ 4,11369
- Arte , C, ≈ 10 10 2 x 10 6 /98 3 ≈ 10 ↑↑ 3,80587
- Robert Sørlie , x86, ≈ 10 2 2 19 +32 / 100 3 ≈ 10 ↑↑ 3.71585
- Tobia , APL, ≈ 10 10 353 /100 3 ≈ 10 ↑↑ 3,40616
- Darren Stone , C, ≈ 10 10 97.61735 / 98 3 ≈ 10 ↑↑ 3.29875
- ecksemmess , C, ≈ 10 2 320 /100 3 ≈ 10 ↑↑ 3,29749
- Adam Speight , vb.net, ≈ 10 5000 × (2 64 ) 4 /100 3 ≈ 10 ↑↑ 3,28039
- Joshua , festa, ≈ 10 10 15 /86 3 ≈ 10 ↑↑ 3,07282
Notas de rodapé
- Se todos os elétrons do universo fossem um qubit e todas as suas superposições pudessem ser usadas de maneira proveitosa para armazenar informações (que, desde que você não precise saber o que está sendo armazenado, é teoricamente possível), esse programa requer mais memória do que poderia possivelmente existe e, portanto, não pode ser executado - agora ou em qualquer ponto concebível no futuro. Se o autor pretender imprimir um valor maior que ≈3 ↑↑ 3,28 de uma só vez, essa condição será aplicada.
- Este programa requer mais memória do que existe atualmente, mas não tanto que não poderia teoricamente ser armazenado em um número escasso de qubits e, portanto, um computador pode existir um dia para executar esse programa.
- Todos os intérpretes atualmente disponíveis emitem um erro de tempo de execução ou o programa falha ao executar como o autor pretendia.
- A execução deste programa causará danos irreparáveis ao seu sistema.
Edit @primo : atualizei uma parte do placar usando uma notação esperançosamente mais fácil de comparar, com decimais para indicar a distância logarítmica até a próxima potência superior. Por exemplo 10 ↑↑ 2,5 = 10 10 √10 . Também alterei algumas pontuações, se considero que a análise do usuário é defeituosa, sinta-se à vontade para contestar qualquer uma delas.
Explicação desta notação:
Se 0 ≤ b < 1
então .a↑↑b = ab
Se b ≥ 1
então .a↑↑b = aa↑↑(b-1)
Se b < 0
então .a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10) como 12*10^10
?
500b
, isso é inválido? Ou seja, podemos ignorar todas as coisas não numéricas que um programa imprime? E se sim, algo como 50r7
contaria 507
?