久しぶりの投稿、そして円周率πと誕生日
最後の投稿は2016年6月27日。実に3年と1ヶ月のブランク。病気と親族のごたごたに振り回されてて静養という名のぼーっとした過ごし方だったように思う。
久しぶりに投稿してみようと思ったきっかけは、πの計算方法を調べていく中で興味深い次の記事を見つけたこと。*1
さて、それではなぜπなのか?
それはPerson of InterestというアメリカのTVドラマシリーズのシーズン1 or 2のどこかのエピソードをみていたときのこと。高校に潜入し教師に扮するハロルド・フィンチが授業の中で「πは無限に続く小数で、その中には全てのもの(数列?)が含まれている」みたいなことを言っていたのを聞いて、「自分の誕生日はπのどのあたりに含まれているのだろう?」と思ったのが事の始まり。
単純にπの数列をどこかから入手すればよいものを、まずは計算方法をググったあたり、あえて遠回りする不思議な性格がここにも現れたという(苦笑)ググってみると次の記事にある方法が手っ取り早かった。
これはシェルスクリプト内で使える標準搭載のコマンド、関数電卓の bc を使うというもの。
計算の精度や所要時間などはさておき(え?)、結果的にほぼ丸々使えた。ひとまず書き留めたシェルスクリプトはこちら。
#!/bin/bash #SCALE=1000 [ $# -gt 0 ] && SCALE=$1 #printf "%s\n%s\n" "scale=${SCALE}" '4*a(1)' echo 'scale='${SCALE}'; 4*a(1)' | bc -l | tr -d '\\\n' echo
誕生日のうち月と日からなる4桁の数字(内緒)であれば10,000桁の中で見つかったんだけど、8桁からなる年月日は10万桁の中にも見つからなかった。計算時間がすでに18時間くらいかかったので、もうこれ以上は言語やアルゴリズムを変えないと無理だろうな〜と思って引き続きググって見つかったうち、興味深かったのが冒頭に貼った1億桁計算したという記事。
すごいね。
そして世の中、さらに上には上がいる。31兆桁とか?! Σ(゚ω゚lll;)
そういえば、結局私の誕生日8桁はどこへ…。自分的にはズルなんだけど、どこかに定数πを10万桁以上公開してるサイトはないかなーと探してみたけど、ぱっと見見つからなかった。
これは計算するしかないか…!