Sappiamo tutti, o almeno ne abbiamo sentito parlare, brainfuck , una delle lingue esoteriche più famose e influenti. Mentre oggigiorno la maggior parte delle implementazioni utilizza un nastro infinito, il compilatore originale di Urban Müller aveva un nastro di 30000 celle. Un fatto poco noto * è che in realtà c'è un valore speciale alla fine del nastro, qualcosa con cui non si interagisce quasi mai in un tipico programma brainfuck.
Sebbene sia possibile stampare questo valore con 29999 se >
a .
, brainfuck è noto per le sue soluzioni brevi e concise, quindi il tuo obiettivo è stampare questo valore con il numero minimo di caratteri.
* fantascienza
Regole:
- Un aggiornamento delle istruzioni di Brainfuck:
+
/-
: Incrementa / decrementa la cella corrente, avvolgendo da 255 a 0 quando 255 viene incrementato e viceversa<
/>
: Sposta il puntatore a sinistra / a destra sul nastro.
: Stampa il valore della cella corrente.[
: Passa al corrispondente]
se il valore nella cella è 0]
: Passa al corrispondente[
se il valore nella cella non è 0
- In questo caso
,
(Ottieni input) non fa nulla, poiché il compilatore originale lascia invariata la cella su EOF e questo programma non dovrebbe ricevere input. - Inizialmente il nastro viene riempito con tutti gli 0, ad eccezione della cella 30000, che contiene un valore sconosciuto
- Il puntatore inizia alla cella 1 e dovrebbe terminare sulla cella 30000, dopo averlo stampato.
- Le celle a sinistra di 1 e a destra di 30000 hanno un comportamento indefinito, quindi le soluzioni non dovrebbero visitare queste cellule.
- Si noti che il valore a 30000
èpuò essere un 0, così semplicemente loop fino a colpire un non-zero cellule non funzionerà. - È necessario stampare solo il valore nella cella 30000
- Vince la soluzione più breve!
- Tie-breaker è il programma più efficiente (viene eseguito nei passaggi minimi), seguito dal tempo di invio più veloce.
Suggerimento: Esolanging Fruit suggerisce di utilizzare https://copy.sh/brainfuck per testare il codice. Le specifiche sono come descritte in questa sfida e puoi selezionare l' abort
opzione in modo che il tuo programma si interrompa se va oltre i limiti.
.
. Io vinco.