あなたの課題は、入力テキストを、テキストを出力するBrain-Flakコードに変換することです。
ここから許可を得てここから取られたチュートリアル
Brain-Flakには、「左」と「右」として知られる2つのスタックがあります。アクティブなスタックは左から始まります。空のスタックがポップされると、0が返されます。それだけです。他の変数はありません。プログラムが起動すると、各コマンドライン引数がアクティブスタックにプッシュされます。
Brain-Flakプログラムで有効な文字はのみ()[]{}<>
であり、常にバランスが取れている必要があります。関数にはNiladsとMonadsの 2種類があります。niladは 0の引数をとる関数です。すべてのniladsは次のとおりです。
()
1に評価します。[]
現在のスタックの高さを評価します。{}
アクティブなスタックをポップします。ポップされた値を評価します。<>
アクティブなスタックを切り替えます。ゼロに評価します。
これらは評価されるときに連結されます。したがって、アクティブスタックの上に「3」がある場合、このスニペットは次のとおりです。
()(){}
するために評価されます1 + 1 + active.pop()
5と評価されることになります。
モナドは1つの引数、Brain-Flakコードの塊を取ります。すべてのモナドは次のとおりです。
(n)
アクティブなスタックで「n」を押します。[n]
負の「n」に評価します{foo}
スタックの先頭にゼロはありませんが、fooを実行してください。<foo>
fooを実行しますが、0として評価します。
これらの関数は、内部の値も返すため、
(()()())
3をプッシュしますが、
((()()()))
3を2回押します。
{}
すべてのランの合計に評価します。したがって、スタックの一番上に「3」と「4」がある場合:
{{}}
7と評価されます。
プログラムの実行が完了すると、アクティブなスタックに残っている各値が改行を挟んで印刷されます。他のスタックの値は無視されます。
ルール
- Brain-Flakはascii outで実行されていると仮定できます。(
-A
) - brain-flakコードは入力を要求してはいけません
- すべての標準ルールが適用されます
- TIOで最大1024バイトの入力がある場合、コードは1分以内に実行する必要があります。(TIO出力が利用できない場合、インタープリターを提供し、マシンで実行します(マシンはTIOに近づくことができるはずです))。
- 任意の長さの入力をサポートする必要があります。
- ファイルから入力を取得できます。
- テストケースの最適化は許可されていません
- 確定的な出力が必要です
- プログラムはスタッククリーンである必要はありません
テストケース(これらのコードを試してください。実際のスコアテキストは、チャレンジが投稿されてから1〜2週間後にリリースされます)
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.
勝ち
勝つためには、各テストケースから与えられたブレインフラックコードの合計長を提供する必要があります。テストケースは、投稿日から1〜2週間後にリリースされます。最短の合計長が優先されます。
注意!!!!!!:
これはコードゴルフではありませんで長さは最終スコアに影響しません。わかりやすいコードを作成していただければ幸いです。ありがとう!
テストケース
<your brain-flak code here>
1000未満になった最初の回答には賞金が与えられます。もう1日に投稿することはできません。これがどれほど新しいか気づかなかった。