catプログラムを作成します。別名、入力を受け取って出力するプログラムです。
...ただし、プログラムは入力から文字をランダムに削除し、代わりに印刷します。
入力の各文字は、プログラムで削除されるオッズが一般的に等しい必要がありますが、それを作成するのは難しいため、各文字のオッズは最大で10%しか変化しません。
プログラムは入力を受け取り、入力から文字をランダムに削除してから、そのバージョンを再度印刷する必要があります。(言語で改行を印刷する必要がある場合は、末尾の改行または他の文字で印刷できます。)
入力がの場合、BOOOWL
すべてのOを等しい確率で削除するべきではありません。各文字(一意ではない)を考慮する必要があるため、結合されたすべてのOが1/5の確率を持つ代わりに(たとえば)、各Oは1 / 5のチャンスです。したがって、1/5のチャンスではなくBWL
、1/5のチャンスがBOWL
ありBOOWL
ます。
入力はSTDINまたはそれに最も近いものに制限されます。
各キャラクターは、最低10%、最高30%の確率で除去されなければなりません。
各キャラクターのオッズは個別に計算する必要があります。
ランダムアクションをサポートする言語の任意のコンポーネントを使用できます。それが機能していても、他のものでもかまいません。
出力はSTDOUTまたは最も近い同等のものである必要があります。言語にSTDOUTがある場合は、他の方法で出力しないでください。あなたの言語が文字列をテキストとして出力できない場合、最も近いものを使用してください(Cの文字配列出力はここでOKです)。
これはコードゴルフです。最短のプログラムが勝ちます。
BOWL OF SOUP
すべてのO
'が一度に削除される可能性がある場合
Output must be through STDOUT, as a text. Do not output a character array.
<-文字配列を出力できる言語があります(出力前にフラット化されます)。それは禁止されていますか?文字列が基本的に文字配列であるCのような言語はどうですか?