円周率クイズ
- 数学の日にちなんで、円周率クイズ (結城浩のはてな日記)
円周率3.141592653589793…の中で、最初に「"月日時分秒"と見なせる数字列」が出てくるところは、小数点以下何桁目?
ただし「"月日時分秒"と見なせる数字列」は、月二桁(01〜12)、日二桁(01〜31)、時二桁(00〜23)、分二桁(00〜59)、秒二桁 (00〜59)の合計十桁の数字列のこととします。大の月小の月も正しく考えます。2月は29日まであるとしてよいです。以下いくつか例。
暇じゃないけど、気晴らしにやってみた。
円周率の数値は、円周率 1,000,000 桁 から借用。
途中にある5000桁ごとのマーク([5000])は削除、10桁ごとの空白や100桁ごとの改行はめんどくさいのでそのまま。
正規表現で探してみる。
(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])([01][0-9]|2[0-3])([0-5][0-9])([0-5][0-9])
空白と改行があるのであってもいいように、"\s*"を追加。
(0\s*[1-9]|1\s*[0-2])\s*(0\s*[1-9]|[12]\s*[0-9]|3\s*[01])\s* ([01]\s*[0-9]|2\s*[0-3])\s*([0-5]\s*[0-9])\s*([0-5]\s*[0-9])
ちなみに、若干間違ってて、誤検出する。まっ、許容範囲だ(ぉぃ
まぁ、「最初に」って言うのはちゃんと探せるけど。(287桁目)