Ecrivez le programme le plus court possible (longueur mesurée en octets) répondant aux exigences suivantes:
- pas d'entrée
- la sortie est sur stdout
- l'exécution se termine finalement
- le nombre total d'octets de sortie dépasse le nombre de Graham
Supposons que les programmes s'exécutent jusqu'à la fin "normale" d'un ordinateur idéal 1 pouvant accéder à des ressources illimitées et que les langages de programmation courants soient modifiés si nécessaire (sans modification de la syntaxe). En raison de ces hypothèses, nous pourrions appeler cela une sorte d'expérience de Gedanken.
Pour commencer, voici un programme Ruby de 73 octets qui calcule f ω + 1 (99) dans la hiérarchie en pleine croissance :
f=proc{|k,n|k>0?n.times{n=f[k-1,n]}:n+=1;n};n=99;n.times{n=f[n,n]};puts n
1 EDIT: Plus précisément, supposons que nous prenions un système existant et que nous le modifions uniquement pour ne pas avoir de limite maximale de la taille de stockage (mais elle est toujours finie). Les temps d'exécution des instructions ne sont pas supposés être modifiés, mais la machine est supposée être idéale en ce sens qu'elle n'aura pas de limite supérieure de durée de vie.