先日、当教室に通う高校1年生の生徒からこんな質問が来ました。「円周率ってどうやって求めるの?」と。確かに、小学生のころ当たり前のように、円周率は3.14だと習いましたよね。しかしそれがどのように求められているかというのは教えられません。それゆえに、なかなか着眼点が良くて鋭い質問だなと感心してしまいました。

そこで経緯をよくよく聞いてみると、どうも東大の入試問題「円周率が3.05以上であることを証明せよ」を見つけて、とのこと。

さて、この質問に対して、円に内接する正方形と円に外接する正方形を描いて、それぞれの周の長さと比較してはどうだろうと提案しました。

内接する図形の周の長さは円周率より小さいはずですし、逆に外接する図形の周の長さは円周率より大きいはずですね。つまり、やろうとしていることは、「内接する正方形の周の長さ<円周率<外接する正方形の周の長さ」を調べることによって円周率が取り得る値の範囲を決めていこうということです。

この方法自体は古くに考案されたものですが、私自身もこの方法を試したことがなかったので、お互いに初の挑戦でした。

まずコンパスで円を描いて、この円に内接する正方形を描き、そして外接する正方形を描きました。さらに、正六角形の場合はどうか比較するために、同様に円に内接する正六角形と円に外接する正六角形を描きました。

一本一本丁寧に描いてきれいに仕上げたところで、図形の周の長さをそれぞれ計算しました。計算の結果、正方形の場合は、「2.828<円周率<4」。一方、正六角形の場合は、「3<円周率<3.464」でした。角の数が多くなるほど、円周率の値により近づくことを改めて認識する瞬間でした。

実際にやってみて、生徒自身「こうやって解くのか」と感慨深かったようです。図形を描くのは手間がかかりますし、特に外接する正六角形は描くのが大変だっただけに、お互い達成感をひとしお味わえました。

 

最後に、円周率の求め方は様々にあることを教えるために、モンテカルロ法を用いた円周率の求め方も紹介しました。

※モンテカルロ法
円に外接する正方形の中でランダムに点を打ち、全ての点の数に対する円の中に打たれた点の数の割合から円周率を求めるというもの。円に外接する正方形と円との面積比が「1:円周率/4」であることから計算できます。

モンテカルロ法によって円周率を求めるには、非常に多数の点を打つ必要があります。これを手でやるには、乱数表片手に一つ一つ点を打つことになるので、まず無理です。そこで、過去にプログラミングの練習の一環として、モンテカルロ法を使った円周率の計算プログラムを作っていたので、今回はそれを使って計算してみることにしました。

実際の計算結果は以下のとおりです。

なお、横軸は点を打った回数、縦軸は求めた値。横軸が片対数のグラフです。赤線がモンテカルロ法で求めた円周率で、青線が実際の円周率です。

点を10万回打ったあたりから値が収束し始め、200万回ほどで3.14に落ち着きます。結局点を100億回打って求められた値は「3.1415914204000002」。実際の円周率が「 3.1415926535・・・」。100億回で小数点第5位くらいまでは大体求められそうかなといったところでした。

今でもスパコンで計算が試みられている円周率。なんとなくその計算の奥深さと魅力を感じた1時間でしたね。

円周率の求め方
Tagged on: