Il tuo obiettivo è scrivere un programma che stampa un numero. Maggiore è il numero, più punti otterrai. Ma fa attenzione! La lunghezza del codice è sia limitata che pesantemente ponderata nella funzione di punteggio. Il numero stampato verrà diviso per il cubo del numero di byte utilizzati per la soluzione .
Quindi, supponiamo che tu abbia stampato 10000000
e che il tuo codice sia 100
lungo byte. Il tuo punteggio finale sarà 10000000 / 100^3 = 10
.
Ci sono altre regole da seguire, al fine di rendere questa sfida un po 'più difficile.
- Non puoi usare le cifre nel tuo codice (0123456789);
- È possibile utilizzare matematico / fisico / etc. costanti, ma solo se sono inferiori a 10. (ad es. puoi usare Pi ~ = 3.14 ma non puoi usare la costante di Avogadro = 6e23)
- La ricorsione è consentita ma il numero generato deve essere finito (quindi infinito non viene accettato come soluzione. Il programma deve terminare correttamente, presupponendo tempo e memoria illimitati e generare l'output richiesto);
- Non è possibile utilizzare le operazioni
*
(moltiplicare),/
(dividere),^
(potenza) né in altro modo per indicarle (ad esempio2 div 2
non è consentito); - Il tuo programma può generare più di un numero, se necessario per farlo . Solo il più alto conterà per il punteggio;
- Tuttavia, puoi concatenare le stringhe: ciò significa che qualsiasi sequenza di cifre adiacenti verrà considerata come un singolo numero;
- Il tuo codice verrà eseguito così com'è. Ciò significa che l'utente finale non può modificare alcuna riga di codice, né può inserire un numero o altro;
- La lunghezza massima del codice è di 100 byte.
Classifica
- Steven H. , Pyth ≈ f φ (1,0,0) +7 (256 26 ) / 1000000 [1]
- Arte semplicemente bella , rubino ≈ 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 semplicemente meravigliosa , 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 , 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
- ricorsivo , 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 × 10 22 /83 3 ≈ 10 ↑↑ 4,11,821 mila [2]
- Primo , Perl, ≈ 10 (12.750.684,161 mila!) 5 × 2 27 /100 3 ≈ 10 ↑↑ 4,11,369 mila
- Arte , C, ≈ 10 10 2 × 10 6 /98 3 ≈ 10 ↑↑ 3,80,587 mila
- Robert Sørlie , x86, ≈ 10 2 2 19 +32 / 100 3 ≈ 10 ↑↑ 3.71585
- Tobia , APL, ≈ 10 10 353 /100 3 ≈ 10 ↑↑ 3,40,616 mila
- Darren Stone , C, ≈ 10 10 97.61735 / 98 3 ≈ 10 ↑↑ 3.29875
- ecksemmess , C, ≈ 10 2 320 /100 3 ≈ 10 ↑↑ 3,29,749 mila
- Adam Speight , vb.net, ≈ 10 5000 × (2 64 ) 4 /100 3 ≈ 10 ↑↑ 3,28,039 mila
- Joshua , bash, ≈ 10 10 15 /86 3 ≈ 10 ↑↑ 3,07,282 mila
Le note
- Se ogni elettrone nell'universo fosse un qubit, e ogni sua sovrapposizione potrebbe essere proficuamente utilizzata per memorizzare informazioni (che, fintanto che non è necessario conoscere ciò che è memorizzato è teoricamente possibile), questo programma richiede più memoria di quanto potrebbe forse esiste, e quindi non può essere eseguito - ora o in qualsiasi momento concepibile in futuro. Se l'autore intendeva stampare contemporaneamente un valore maggiore di ≈3 ↑↑ 3,28, si applica questa condizione.
- Questo programma richiede più memoria di quella attualmente esistente, ma non così tanto da non poter teoricamente essere archiviato su un numero scarso di qubit, e quindi un giorno potrebbe esistere un computer in grado di eseguire questo programma.
- Tutti gli interpreti attualmente disponibili generano un errore di runtime, altrimenti il programma non viene eseguito come previsto dall'autore.
- L'esecuzione di questo programma causerà danni irreparabili al sistema.
Modifica @primo : ho aggiornato una parte del tabellone usando una notazione, si spera, più facile da confrontare, con decimali per indicare la distanza logaritmica alla potenza successiva successiva. Ad esempio 10 ↑↑ 2,5 = 10 10 √10 . Ho anche cambiato alcuni punteggi se credevo che l'analisi degli utenti fosse difettosa, sentiti libero di contestare uno di questi.
Spiegazione di questa notazione:
Se 0 ≤ b < 1
allora .a↑↑b = ab
Se b ≥ 1
allora .a↑↑b = aa↑↑(b-1)
Se b < 0
allora .a↑↑b = loga(a↑↑(b+1))
12e10
(12 * 10 ^ 10) come 12*10^10
?
500b
, non è valido? Cioè, possiamo ignorare tutte le cose non numeriche che un programma stampa? E se così fosse, qualcosa come 50r7
conta 507
?