あなたの課題は、データ送信ストリームを模倣するプログラムをゴルフすることです。プログラムはstdinから入力を読み取り、それを直接stdoutに出力する必要があります。問題をより興味深いものにするために、出力ストリームは「不完全」であり、いくつかの要件を満たす必要があります。
- 各文字がアスキーコード+1でシフトされる可能性は10%あるはずです(たとえば、「a」は「b」になり、「9」は「:」になります)、など。
- 入力と出力は、印刷可能なASCII値(「!」から「〜」、10進数の33から10進数の126まで)のみをカバーする必要があります。ランダム+1が「〜」(10進数の126)で発生した場合、「!」代わりに(10進数33)を出力する必要があります。
- 3つの文字がランダムに連続してシフトされている場合、プログラムは「エラーコード4625:回復不能なエラーです。システム管理者に連絡してください」(末尾の改行はオプション)、実行を停止します。
問題を単純化するために、他にいくつかの基準があります。
- 入力は常に有効であると想定できます。つまり、値には '!'のみが含まれます。「〜」を介して。
- プログラムは、3つの文字がランダムに連続してシフトされるまで続行されます。EOFが発生しないと想定しても安全です。
- ランダム性は実行ごとに異なる必要があります。実行ごとに一意の結果を取得するために乱数ジェネレータをシードする必要がある場合は、コードでシードする必要があります。
- 関数ではなく、プログラムを記述する必要があります。
- stdinから入力を受け取り、出力をstdoutに書き込む必要があります。
- 外部のライブラリやリソースを使用することはできません。
- あなたのコードは自由に利用でき、動作するイントレプリターまたはコンパイラーを持っている必要があります。
標準のコードゴルフ規則が適用されます。勝者は、2週間後(2014年2月20日木曜日)に最短のプログラムを投稿した人です。