次のBASICステートメントの簡潔さについて同僚と「元気な」会話をしました。
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
これはこの本のタイトルであり、2つの文字をランダムに交互に並べ/
て\
文字列を印刷するだけで、次のようなパターンになります。
(http://www.flickr.com/photos/rndmcnlly/5058442151/sizes/o/in/photostream/から借りた画像)
PHPの傾向があるため、PHPで同じことを書く最もコンパクトな方法は何だろうと考えて、これを思いつきました。
while(1) { echo chr(47 + 45 * rand(0,1)); }
chr(47)
は/
文字であり、chr(92)は\
です。そのため、このステートメントecho chr(47 + 45 * rand(0,1));
は、2つのアドネウザムをランダムに代替します。
選択した言語で、文字\
と/
文字の無限のランダムシーケンスを出力する最短のプログラムまたは関数を記述します。各文字は選択される確率が等しくなります。
{}
中かっこを失う可能性がありますが、それはできる限り簡潔です。