Schreiben Sie das kürzestmögliche Programm (Länge in Byte), das die folgenden Anforderungen erfüllt:
- keine Eingabe
- Ausgabe ist auf Standard
- Die Ausführung wird schließlich abgebrochen
- Die Gesamtzahl der ausgegebenen Bytes übersteigt die Anzahl von Graham
Nehmen Sie an, dass Programme bis zur "normalen" Beendigung auf einem idealen Computer 1 ausgeführt werden , der auf unbegrenzte Ressourcen zugreifen kann, und dass die allgemeinen Programmiersprachen bei Bedarf geändert werden (ohne die Syntax zu ändern), um dies zu ermöglichen. Aufgrund dieser Annahmen können wir dies eine Art Gedankenexperiment nennen.
Hier ist ein 73-Byte-Ruby-Programm, das fω + 1 (99) in der schnell wachsenden Hierarchie berechnet :
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 BEARBEITEN: Nehmen wir genauer an, wir nehmen ein vorhandenes System und ändern es nur, um keine Obergrenze für die Speichergröße zu haben (aber es ist immer endlich). Die Ausführungszeiten von Anweisungen werden nicht angenommen , geändert werden, aber die Maschine angenommen wird ideal in sein , dass es keine Obergrenze für seine Betriebslebensdauer hat.