お札の番号が777とかになる確率というか場合の数をプログラムで計算してみたらコメントとはまた違う結果が出た罠
「どうやってドリームジャンボを買ったかという肝心な話を昨日書き忘れていた罠」が意外と盛り上がっているので、実際に計算してみた。プログラムは FPL の Java(tm) の部屋に紹介した。1分で書いた…というとちょっと脚色が入ってしまうが、3分以内に作ったことは間違いない。
で、実行したら1秒も待たずに 35919 と表示されたわけで、そんな値、まだコメントには出てきていないし、何かおかしいので、実際に値をプリントして確認したら 300KB 弱のテキストが出てきたが、要するに 000000 ~ 000999 を処理できていなかった。修正したのを実行したら 36910 となって、コメントで最後に出ている結論と一致したから、これが正解だろう。
プログラムをなぜここに書かないのかという人がいそうだが、インデントの付け方が分からなくて(左寄せになってしまう、pre で囲ったら1行おきになる)挫折したのだ。
| 固定リンク

コメント
>プログラムをなぜここに書かないのかという人がいそうだが、インデントの付け方が分からなくて(左寄せになってしまう、pre で囲ったら1行おきになる)挫折したのだ。
ソコでワンライナーですよ(違)
$ perl -e 'foreach(0..999999){$i++ if(sprintf("%06d",$_)=~/(.)\1\1/);}print"$i\n";'
36910
プログラム1分以内
実行時間約10秒
投稿: <セルダン> | 2005.06.10 16:45
>プログラムをなぜここに書かないのかという人がいそうだが、インデントの付け方が分からなくて(左寄せになってしまう、pre で囲ったら1行おきになる)挫折したのだ。
「表示設定」の「テキストフォーマットの初期設定:」が「改行を反映させる」だと pre 要素の内容まで [改行] を br 要素+[改行] に変換してしまい、改行が倍増するようです。
投稿: かどたにみつる | 2005.06.11 00:17
Java を実行したのと同じ環境で走らせたら 2秒かかりました、ワンライナー。
>改行を反映させる」だと pre 要素の内容まで [改行] を br 要素+[改行] に変換してしまい、改行が倍増
そういえばどういうタグが使えるのか分からなくなったのでヘルプで調べてみたけど、やはり分からなかった罠。というかタグが使えたのかどうかも定かではないです。
投稿: phinloda | 2005.06.11 01:40
>2秒かかりました
ぐはっ
試したPCはCPUがPII350MHzだったりしますし(^^;
ちなみに、0~999には1000個ある事が明らかですから、
$ perl -e '$i=1000;foreach(1000..999999){$i++ if(/(.)\1\1/);}print"$i\n";'
とか。
ってこれでも7秒ですか。たいして変わらん(^^;
更にちなみに、↓お札FAQによると、数字部分は1~900000しか使わないらしい。
http://www.npb.go.jp/ja/faq/bn2004_ans.html#001
まあ、これでも33,219/900,000=0.03691で約3.7%ですが・・・
投稿: <セルダン> | 2005.06.11 17:17