La tua sfida è trasformare il testo in input in codice "brain-flak" che produrrà il testo.
Tutorial preso da qui con il permesso qui
Brain-Flak ha due pile, conosciute come "sinistra" e "destra". Lo stack attivo inizia a sinistra. Se viene spuntato uno stack vuoto, verrà restituito 0. Questo è tutto. Nessuna altra variabile. All'avvio del programma, ogni argomento della riga di comando viene inserito nello stack attivo.
Gli unici personaggi validi in un programma Brain-Flak sono ()[]{}<>
e devono essere sempre bilanciati. Ci sono due tipi di funzioni: Nilads e Monadi . Un nilad è una funzione che accetta 0 argomenti. Ecco tutti i nilad:
()
Valuta uno.[]
Valuta l'altezza dello stack corrente.{}
Pop lo stack attivo. Valuta il valore spuntato.<>
Attiva / disattiva lo stack attivo. Valuta a zero.
Questi vengono concatenati insieme quando vengono valutati. Quindi se avessimo un '3' in cima allo stack attivo, questo frammento:
()(){}
valuterebbe a 1 + 1 + active.pop()
chi valuterebbe a 5.
Le monadi prendono un argomento, un pezzo di codice Brain-Flak. Ecco tutte le monadi:
(n)
Premi 'n' sullo stack attivo.[n]
Valuta come 'n' negativa{foo}
Mentre zero non è in cima alla pila, fai foo.<foo>
Eseguire foo, ma valutarlo come 0.
Queste funzioni restituiranno anche il valore al loro interno, quindi
(()()())
Spingerà 3 ma
((()()()))
Spingerà 3 due volte .
Il {}
valuterà alla somma di tutte le piste. Quindi se avessimo "3" e "4" in cima allo stack:
{{}}
valuterebbe come 7.
Al termine dell'esecuzione del programma, viene stampato ogni valore rimasto sullo stack attivo, con una nuova riga tra. I valori sull'altro stack vengono ignorati.
Regole
- Si può presumere che Brain-Flak sia in esecuzione con ascii out. (
-A
) - Il codice brain-flak NON deve richiedere input
- Si applicano tutte le regole standard
- Il codice deve essere eseguito entro 1 minuto per qualsiasi input fino a 1024 byte su TIO. (Se non è disponibile alcuna uscita TIO, fornire un interprete e lo eseguirò sulla mia macchina (la mia macchina dovrebbe essere in grado di avvicinarsi a TIO)).
- È necessario supportare input di lunghezza arbitraria.
- È possibile accettare input da un file.
- L'ottimizzazione per i casi di test non è consentita
- È richiesto un output deterministico
- I programmi non devono essere impilati
Casi di prova (prova il tuo codice su questi, i testi dei punteggi effettivi verranno rilasciati in 1-2 settimane dopo la pubblicazione della sfida)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
The meaning of brain-flak is to flak your brain with pain.
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
To be, or not to be, that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles
And by opposing end them. To die-to sleep,
No more; and by a sleep to say we die
<your brain-flak code here>
The fitness pacer test is a multi stage test. Avacado Avacado Avacadad Avacadad carrot.bat carrot.jar carrot.carrot Quack Quack Quack Quack Quack Quack Quack Quack Quack downgoat doawngoat down down gaot
This challenge came from a online program that turned text into brain-fuck. However brain-fuck has limitations and it is not nearly as cool as brain-flak. I really am looking forward to cool programs :) I am glad you took the time to read this and look forward to seeing your answer.
vincente
Per vincere è necessario fornire la lunghezza totale del codice del difetto cerebrale fornito da ciascuno dei casi di test che verrà rilasciato 1-2 settimane dopo la data di pubblicazione. Vince la lunghezza totale più breve.
NOTA!!!!!!:
Non si tratta di code-golf , la lunghezza del codice non influirà in alcun modo sul punteggio finale. Rendere il codice leggibile pulito è apprezzato. Grazie!
Casi test
<your brain-flak code here>
meno di 1000 viene premiata. Che non posso pubblicare per un altro giorno, whoops; non ho notato quanto fosse nuovo.