Właśnie odbyłem „porywającą” rozmowę ze współpracownikiem na temat zwięzłości następującego oświadczenia BASIC:
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Jest to tytuł tej książki i po prostu wydrukuje sekwencję znaków /
i \
, naprzemiennie między nimi, tworząc wzór podobny do tego:
(Zdjęcie pożyczone z http://www.flickr.com/photos/rndmcnlly/5058442151/sizes/o/in/photostream/ )
Będąc skłonnością do PHP, zastanawialiśmy się, jaki byłby najbardziej kompaktowy sposób pisania tego samego w PHP, i wymyśliliśmy:
while(1) { echo chr(47 + 45 * rand(0,1)); }
chr(47)
jest /
postacią, a chr (92) to \
. Tak więc oświadczenie echo chr(47 + 45 * rand(0,1));
będzie losowo alternatywne między tymi dwoma, ad nauseum.
W wybranym języku napisz najkrótszy program lub funkcję, aby wygenerować nieskończoną losową sekwencję znaków \
i /
, przy czym każdy znak ma jednakowe prawdopodobieństwo wybrania.
{}
aparat ortodontyczny, ale jest to tak zwięzłe, jak tylko możesz.