Su objetivo es escribir un programa que imprima un número. Cuanto mayor sea el número, más puntos obtendrás. ¡Pero ten cuidado! La longitud del código es limitada y muy ponderada en la función de puntuación. Su número impreso se dividirá por el cubo de la cantidad de bytes que utilizó para su solución .
Entonces, digamos que imprimiste 10000000
y tu código tiene una 100
longitud de bytes. Tu puntaje final será 10000000 / 100^3 = 10
.
Hay otras reglas a seguir, para hacer este desafío un poco más difícil.
- No puede usar dígitos en su código (0123456789);
- Usted puede utilizar matemática / física / etc. constantes, pero solo si son inferiores a 10. (por ejemplo, puede usar Pi ~ = 3.14 pero no puede usar la constante de Avogadro = 6e23)
- La recursión está permitida pero el número generado debe ser finito (por lo que infinito no se acepta como solución. Su programa debe terminar correctamente, suponiendo tiempo y memoria ilimitados, y generar la salida solicitada);
- No puede usar las operaciones
*
(multiplicar),/
(dividir),^
(potencia) ni ninguna otra forma de indicarlas (por ejemplo,2 div 2
no está permitido); - Su programa puede generar más de un número, si lo necesita para hacerlo . Solo el más alto contará para anotar;
- Sin embargo, puede concatenar cadenas: esto significa que cualquier secuencia de dígitos adyacentes se considerará como un solo número;
- Su código se ejecutará tal cual. Esto significa que el usuario final no puede editar ninguna línea de código, ni puede ingresar un número o cualquier otra cosa;
- La longitud máxima del código es de 100 bytes.
Tabla de clasificación
- Steven H. , Pyth ≈ f φ (1,0,0) +7 (256 26 ) / 1000000 [1]
- Arte simplemente hermoso , rubí ≈ f φ 121 (ω) (126) [1]
- Peter Taylor , GolfScript ≈ 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 simplemente hermoso , Ruby ≈ 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 , cc, ≈ 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 ↑ 3 10 377 /18 3 [1]
- BlackCap , Haskell, ≈ 10 ↑↑ 65503/100 3
- recursivo , Python, ≈ 2 ↑↑ 11/95 3 ≈ 10 ↑↑ 8.63297 [1] [3]
- nm , Haskell, ≈ 2 ↑↑ 7/100 3 ≈ 10 ↑↑ 4.63297 [1]
- David guiñada , C, ≈ 10 10 4 × 10 22 /83 3 ≈ 10 ↑↑ 4,11821 [2]
- primo , Perl, ≈ 10 (12750684.161 mil!) 5 × 2 27 /100 3 ≈ 10 ↑↑ 4.11369
- Arte , C, ≈ 10 10 2 × 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 5,000 × (2 64 ) 4 /100 3 ≈ 10 ↑↑ 3.28039
- Joshua , golpe, ≈ 10 10 15 /86 3 ≈ 10 ↑↑ 3.07282
Notas al pie
- Si todos los electrones en el universo fueran un qubit, y cada superposición de los mismos se pudiera usar de manera lucrativa para almacenar información (lo cual, siempre y cuando no necesite saber qué se está almacenando es teóricamente posible), este programa requiere más memoria de la que podría posiblemente exista, y por lo tanto no se puede ejecutar, ahora, o en cualquier punto concebible en el futuro. Si el autor pretendía imprimir un valor mayor que ≈3 ↑↑ 3.28 de una vez, se aplica esta condición.
- Este programa requiere más memoria de la que existe actualmente, pero no tanto que, en teoría, no podría almacenarse en un número escaso de qubits, y por lo tanto, algún día puede existir una computadora que pueda ejecutar este programa.
- Todos los intérpretes disponibles actualmente emiten un error de tiempo de ejecución, o el programa no puede ejecutarse como el autor pretendía.
- Ejecutar este programa causará daños irreparables a su sistema.
Editar @primo : he actualizado una parte del marcador utilizando una notación que es más fácil de comparar, con decimales para denotar la distancia logarítmica a la siguiente potencia más alta. Por ejemplo 10 ↑↑ 2.5 = 10 10 √10 . También he cambiado algunos puntajes si creía que el análisis del usuario era defectuoso, no dude en disputar cualquiera de estos.
Explicación de esta notación:
Si 0 ≤ b < 1
, entonces .a↑↑b = ab
Si b ≥ 1
, entonces .a↑↑b = aa↑↑(b-1)
Si b < 0
, entonces .a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10) como 12*10^10
?
500b
, ¿es esto inválido? Es decir, ¿podemos ignorar todas las cosas no numéricas que imprime un programa? Y si es así, ¿algo como 50r7
contar como 507
?