gm300の日記: piの計算。 8
こんな感じ。精度は上げたいけど、手で行う計算時間を減らして、検算を簡単にしたい。37x43をちまちま行うよりは、(40-3)*(40+3)で暗算で計算したい。
半径100の円に内接する台形群の面積として近似する。
近似値だったら挟むけど、今は3.05 より大きい ということなので。
x = 0, 10, 20 .. 100; 実際は、等間隔である必要はなく、
x = 20, 30,40 .. 80,90,95,100; みたいなほうがいい。
y = int(sqrt(r*r-x*x));
大切なのは、整数範囲でしかも切り捨てで計算すること。yの範囲は、0から100までで整数に限るので、10の位はペンで書いていれば筆算しなくてもわかる。1の位を慣れた方法で求める。
台形の面積を求める。
Sn = (Xn+1 - Xn)*(Yn+1+Yn)/2;
Xを等ピッチにしなくても良い理由はここらにある。(1)Yに変化が無い部分は、纏めて計算できる。(2)Xの幅は、個々のSnの計算に含まれ、Snはそれぞれ独立に計算される。しかし、ピッチが10なのは、掛け算を簡単にするためでもある。0足すだけ。
pi = Snの合計 * 4 / r / r ;
割る2と掛ける4を相殺すれば、少し楽に。
半径10でyを整数に限ると答えは3.05 で題意を満たさない。
半径1の円でもいいんだけどね。
角度を45度までにして余分な三角部分を引くとか、ピッチをもっと賢く制御することで計算量を保ちながら精度を上げる方法はありそうだ。x = 0,10,20,30,40,50とy = 90,80,70,60,50 でx,yの両方からピッチ計算をするとか..
ここまで書いて、オイラの入試の時には、
(1+x)^(1+x)と(1-x)^(-1-x)を比較するという問題があったな。
高校時代 (スコア:2)
ランダムで0-100までの2つ値を出して
x^2+y^x で 10000を越えるか越えないかの数をだしてpiを計算した
16ビット(試行回数2^15まで)だと「円周率は3(より少し大きい)」レベルの精度しか出ない。
「江戸時代の桶屋か!」と突っ込んでました。
#いまなら「ゆとりか!」でしょう。
ところでなぜ π>3.05 を計算しているのでしたっけ (スコア:1)
今回は手計算でもできるやつで。
円に内接する正8角形の辺の長さを考える。ピタゴラスの定理から導けて
1辺の長さ = √((√2÷2)^2+(1-(√2÷2))^2)
であることから、
√2の近似値 1.41 を用いて計算すれば、1辺の長さは √0.58405 となる。
1.41 < √2 であるから、1辺の真の長さは √0.58405 より大きいと言える。
ここで、π ≦ 3.05 であると仮定するならば、
円周の1/8 = π/4 ≦ 0.7625 となるはずである。
0.7625^2 = 0.58140625 よって 0.7625 = √0.58140625
さて、
√0.58140625 < √0.58405 < 円が内接する正8角形の1辺の長さ であるから、
仮定「π ≦ 3.05」は円が内接する正8角形より小さくなってしまうので、矛盾する。
従って、π > 3.05
証明終わり
Re:ところでなぜ π3.05 を計算しているのでしたっけ (スコア:2)
少なくても電卓や、携帯で計算するのは、なしでしょうね。
Re:ところでなぜ π3.05 を計算しているのでしたっけ (スコア:1)
なるほど。入試なら簡易な数表くらいはあるのかも?
Re:ところでなぜ π3.05 を計算しているのでしたっけ (スコア:2)
http://shimaphoto03.com/science/cir-cons/
本文は、
「
円周率が3.05より大きいことを証明せよ
出典:東京大学 入学試験過去問題
」
だったらしいです、
ちなみどれくらの数表を期待していますか?
オイラの高校生の時の教科書は、たしかlog と三角関数が出ていた気がします。
x^1/2 はどうだったかな。
Re:ところでなぜ π3.05 を計算しているのでしたっけ (スコア:1)
大学入試なら、やはり教科書に乗ってる程度の小数2桁→3桁が引ける常用対数表とかでしょうか。
ところで三角関数の数表もある場合、「与えられた数表によれば半周>3.1」って回答はペケだろうなあ
Re:ところでなぜ π3.05 を計算しているのでしたっけ (スコア:2)
いずれにせよ数表無いし、計算機もなく手で計算するだけで、20minくらいで計算終了する という条件くらいは仮定してもいいのでは?
Re:ところでなぜ π3.05 を計算しているのでしたっけ (スコア:1)
あ、度数法で示していれば円周は未知か。