今日が円周率の日だったとは気付かなかった…
クイズにチャレンジ。
2009-03-14 - 結城浩のはてな日記
#!/usr/bin/perl # pi2date.pl use strict; use warnings; use Math::BigFloat qw(bpi); my @days = qw(31 29 31 30 31 30 31 31 30 31 30 31); my $max_length = 1000; my $pi = bpi($max_length); for (0 .. $max_length - 10) { my $str = substr($pi, $_ + 2, 10); if (&judge($str)) { print $_ + 1, ":$str\n"; last; } } sub judge { my $digits = shift; my $month = substr($digits, 0, 2); my $day = substr($digits, 2, 2); my $hour = substr($digits, 4, 2); my $minute = substr($digits, 6, 2); my $second = substr($digits, 8, 2); return 0 if ($month > 12 || $month == 0); return 0 if ($day > $days[$month - 1]); return 0 if ($hour > 23); return 0 if ($minute > 59); return 0 if ($second > 59); return 1; }
$ perl pi2date.pl 287:0726024914
答えは287桁目?
7月26日02時49分14秒。
もっとあとの方に出てくると思ってたけど意外と早かった。これなら自分の目で数えていって調べた方が早かった…