週刊少年マガジンで「 賭博覇王伝零」と言う漫画があります。 その中で、√2の近似値を小数第10位くらい迄求めるという場面がありました。 (現在進行形で…)
で、実際自分でも出してみました。 1.41421356まではでているようです。
実際漫画の中での解法はこうです
1.41421356=aとします。 まず、a*aを計算した後で a*a+2aを計算し 更に最終行に1をくわえる。
つまり(a+1)^2を計算する。 と言う方法でやっていました。
で、数学って面白い!?と言うサイトではニュートン法 僕のブログでは二分法でやってみました。 開平法でもできると思います。
ここまでで、4つの解法がでてきました。
制限時間はないとして
この他にどのような近似値の求め方があるのでしょうか? 少し興味が湧いたので書き込んでみました。 宜しくお願いします。
|
No.563 - 2008/05/08(Thu) 00:07:10
| ☆ Re: √2の近似値について / らすかる | | | a[0]=1, a[1]=1, b[0]=0, b[1]=1 として a[n]=2a[n-1]+a[n-2], b[n]=2b[n-1]+b[n-2] とすると a[1]=1, b[1]=1, a[1]/b[1]=1/1=1 a[2]=3, b[2]=2, a[2]/b[2]=3/2=1.5 a[3]=7, b[3]=5, a[3]/b[3]=7/5=1.4 a[4]=17, b[4]=12, a[4]/b[4]=17/12=1.41666666… a[5]=41, b[5]=29, a[5]/b[5]=41/29=1.41379310… a[6]=99, b[6]=70, a[6]/b[6]=99/70=1.41428571… a[7]=239, b[7]=169, a[7]/b[7]=239/169=1.41420118… a[8]=577, b[8]=408, a[8]/b[8]=577/408=1.41421568… a[9]=1393, b[9]=985, a[9]/b[9]=1393/985=1.41421319… a[10]=3363, b[10]=2378, a[10]/b[10]=3363/2378=1.41421362… a[11]=8119, b[11]=5741, a[11]/b[11]=8119/5741=1.41421355… a[12]=19601, b[12]=13860, a[12]/b[12]=19601/13860=1.41421356…
この方法は 19601 と 13860 を求めるのに足し算だけで済み、 割り算が1回しか必要ありません。
|
No.564 - 2008/05/08(Thu) 00:16:55 |
| ☆ Re: √2の近似値について / らすかる | | | 二分法を変形して按分法にすると 1.4<√2<1.5 1.4^2=1.96, 1.5^2=2.25 1.4+(1.5-1.4)×(2-1.96)/(2.25-1.96)=1.41379310… 1.41379310^2=1.99881093… 1.4+(1.41379310-1.4)×(2-1.96)/(1.99881093-1.96)=1.41421568… 1.41421568^2=2.00000598… 1.41379310+(1.41421568-1.41379310)×(2-1.99881093)/(2.00000598-1.99881093) =1.41421356…
この方法の収束速度は多分ニュートン法と同等です。
|
No.565 - 2008/05/08(Thu) 03:04:45 |
| ☆ Re: √2の近似値について / らすかる | | | 漸化式をいいかげんに作る方法
例えば x=√2-1 とすると x^2+2x-1=0 なので 2x=1-x^2 x=(1-x^2)/2 これを使って初期値を0.4として x ← (1-x^2)/2 という計算を繰返し行うと 0.4 0.42 0.4118 0.41521038 0.41380017… 0.41438470… 0.41414265… 0.41424293… 0.41420139… 0.41421860… 0.41421147… 0.41421442… 0.41421320… 0.41421371… 0.41421350… 0.41421358… 0.41421355… 0.41421356… のように√2-1に収束します。 (収束は遅いですし、いいかげんに作った漸化式が必ずしも収束するとは限りません。)
|
No.566 - 2008/05/08(Thu) 07:14:26 |
| ☆ Re: √2の近似値について / にょろ | | | 成る程 色々な方法があるのですね。
やはり簡単そうな問題は色々な解法でで解を導くのがなかなか楽しいですね。
有り難うございます。
まだあれば…
|
No.567 - 2008/05/08(Thu) 13:34:06 |
| ☆ Re: √2の近似値について / らすかる | | | 最初の方法は無駄があることに気付きました。
a[1]=0, a[2]=1 として a[n]=2a[n-1]+a[n-2] とすれば lim[n→∞]a[n-1]/a[n]+1=√2 ですから a[1]=0 a[2]=1 a[3]=2 a[4]=5 a[5]=12 a[6]=29 a[7]=70 a[8]=169 a[9]=408 a[10]=985 a[11]=2378 a[12]=5741 a[13]=13860
a[12]/a[13]+1=1.41421356… のように求められました。
|
No.568 - 2008/05/08(Thu) 17:41:10 |
| ☆ Re: √2の近似値について / らすかる | | | ↓こちらのページにはまた別の方法が記載されています。 http://mathworld.wolfram.com/WolframsIteration.html
|
No.570 - 2008/05/08(Thu) 17:49:32 |
| ☆ Re: √2の近似値について / らすかる | | | こういう方法もあります。
√2=3/2-3Σ[k=0〜∞](2k)Ck/{(k+1)*36^(k+1)} =3/2-{1/36+1/36^2+6/(3*36^3)+20/(4*36^4)+70/(5*36^5)+252/(6*36^6)+…} この項まで計算すると 1.4142135679…
|
No.572 - 2008/05/09(Fri) 04:19:28 |
| ☆ Re: √2の近似値について / らすかる | | | 上と同じ方法で
√2=17/12-(17/6)Σ[k=0〜∞](2k)Ck/{(k+1)*1156^(k+1)} =17/12-(17/6){1/1156+1/1156^2+4C2/(3*1156^3)+6C3/(4*1156^4)+8C4/(5*1156^5)+…} (この項までで 1.41421356237309509…)
√2=99/70-(99/35)Σ[k=0〜∞](2k)Ck/{(k+1)*39204^(k+1)} =99/70-(99/35){1/39204+1/39204^2+4C2/(3*39204^3)+6C3/(4*39204^4)+…} (この項までで 1.414213562373095048802…)
√2=577/408-(577/204)Σ[k=0〜∞](2k)Ck/{(k+1)*1331716^(k+1)} =577/408-(577/204){1/1331716+1/1331716^2+4C2/(3*1331716^3)+…} (この項までで 1.41421356237309504880169…)
√2=3363/2378-(3363/1189)Σ[k=0〜∞](2k)Ck/{(k+1)*45239076^(k+1)} =3363/2378-(3363/1189){1/45239076+1/45239076^2+4C2/(3*45239076^3)+…} (この項までで 1.41421356237309504880168872421…)
などの収束の早い式も作れます。 (いくら早くしても1項でn桁ですからニュートン法にはかないませんが。)
|
No.573 - 2008/05/09(Fri) 18:37:02 |
| ☆ Re: √2の近似値について / にょろ | | | らすかるさん… 凄いですね。
こんなに方法があるんですね。 勉強になりました
|
No.604 - 2008/05/12(Mon) 01:09:18 |
|