Votre but est d'écrire un programme qui imprime un nombre. Plus le nombre est élevé, plus vous obtiendrez de points. Mais fais attention! La longueur du code est à la fois limitée et fortement pondérée dans la fonction de notation. Votre numéro imprimé sera divisé par le cube du nombre d'octets que vous avez utilisés pour votre solution .
Alors, disons que vous avez imprimé 10000000
et que votre code est 100
long en octets. Votre score final sera 10000000 / 100^3 = 10
.
Il y a d'autres règles à suivre pour rendre ce défi un peu plus difficile.
- Vous ne pouvez pas utiliser de chiffres dans votre code (0123456789);
- Vous pouvez utiliser mathématique / physique / etc. constantes, mais seulement si elles sont inférieures à 10. (par exemple, vous pouvez utiliser Pi ~ = 3.14 mais vous ne pouvez pas utiliser la constante d'Avogadro = 6e23)
- La récursivité est autorisée, mais le nombre généré doit être fini (l' infini n'est donc pas accepté comme solution. Votre programme doit se terminer correctement, en supposant du temps et de la mémoire illimités, et générer le résultat demandé);
- Vous ne pouvez pas utiliser les opérations
*
(multiplier),/
(diviser),^
(puissance) ni aucun autre moyen de les indiquer (par exemple, ce2 div 2
n'est pas autorisé); - Votre programme peut générer plusieurs nombres, si vous en avez besoin . Seul le plus élevé comptera pour marquer;
- Cependant, vous pouvez concaténer des chaînes: cela signifie que toute séquence de chiffres adjacents sera considérée comme un nombre unique;
- Votre code sera exécuté tel quel. Cela signifie que l'utilisateur final ne peut éditer aucune ligne de code, ni saisir un nombre, ni rien d'autre.
- La longueur maximale du code est de 100 octets.
Classement
- Steven H. , Pyth ≈ f φ (1,0,0) +7 (256 26 ) / 1000000 [1]
- Simplement Beau Art , Ruby de f de φ 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]
- Simply Beautiful Art , Ruby ≈ f w © 2 + 1 (1983)
- eaglgenes101 , Julia ≈ f ω3 (127)
- col6y , Python 3, (127 → 126 → ... → 2 → 1) / 99 3 [1] [3]
- Toeofdoom , Haskell, ≈ un 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 ≈ ↑ 3 10 377 /18 3 [1]
- BlackCap , Haskell, 10 ↑↑ 65503/100 3
- récursif , Python, 2 ↑↑ 11/95 3 10 ↑↑ 8.63297 [1] [3]
- nm , Haskell, 2 ↑↑ 7/100 3 10 ↑↑ 4.63297 [1]
- David Yaw , C, ≈ 10 10 4 x 10 vingt-deux / 83 3 ≈ 10 ↑↑ 4,11821 [2]
- Primo , Perl, 10 ≈ (12750684161!) 5 x 2 27 /100 3 ≈ 10 ↑↑ 4,11369
- Art , 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 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 ) quatre / 100 3 ≈ 10 ↑↑ 3,28039
- Joshua , bash, ≈ 10 10 15 /86 3 ≈ 10 ↑↑ 3,07282
Notes de bas de page
- Si chaque électron de l’univers était un qubit et que chaque superposition de celui-ci pouvait être utilisée à bon escient pour stocker des informations (qui, tant que vous n’avez pas réellement besoin de savoir ce qui est stocké est théoriquement possible), ce programme nécessite plus de mémoire que de ressources existe peut-être, et ne peut donc pas être exécuté - maintenant, ou à tout moment imaginable dans le futur. Si l'auteur avait l'intention d'imprimer une valeur supérieure à 3 ↑↑ 3.28 en une fois, cette condition s'applique.
- Ce programme nécessite plus de mémoire qu’il n’existe actuellement, mais pas tant qu’il ne pourrait théoriquement pas être stocké sur un nombre restreint de qubits; il peut donc exister un jour un ordinateur capable d’exécuter ce programme.
- Tous les interprètes actuellement disponibles génèrent une erreur d'exécution ou le programme ne s'exécute pas autrement, comme le prévu l'auteur.
- L'exécution de ce programme causera des dommages irréparables à votre système.
Edit @primo : J'ai mis à jour une partie du tableau de bord en utilisant une notation plus facile à espérer, avec des décimales pour indiquer la distance logarithmique à la puissance immédiatement supérieure. Par exemple 10 ↑↑ 2.5 = 10 10 √10 . J'ai également modifié certains scores si je croyais que l'analyse de l'utilisateur était erronée, n'hésitez pas à en discuter.
Explication de cette notation:
Si 0 ≤ b < 1
, alors .a↑↑b = ab
Si b ≥ 1
, alors .a↑↑b = aa↑↑(b-1)
Si b < 0
, alors .a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10) 12*10^10
?
500b
, est-ce invalide? Autrement dit, pouvons-nous ignorer toutes les choses non numériques imprimées par un programme? Et si oui, est-ce que quelque chose comme 50r7
compterait 507
?