- 締切済み
2のN乗が10の場合、手計算でNの値を求める方法
2のN乗が10の場合、手計算でNの値を求める方法が知りたいです。 電卓などでこの値が出ましたでなく、アルゴリズムを知りたいです。 中学レベル 高校レベル 大学レベル の3レベルで説明できる人いますか?
- みんなの回答 (11)
- 専門家の回答
みんなの回答
- queuerev2
- ベストアンサー率78% (96/122)
アルゴリズムではありませんが、高校レベルの手計算としては常用対数表を使う方法もあるのではないでしょうか。 log(10)2は0.3010(4桁の表の場合)なので、 1 / 0.3010 ≒ 3.322
- staratras
- ベストアンサー率41% (1498/3648)
No.4 & 7です。すべて手計算で求めてみました。 2^N=10 の両辺の自然対数をとると(以下対数はすべて自然対数) Nlog2=log10=log2+log5 だから N=1+(log5/log2) Nを求めることはlog2,log5を求めることに帰着します。 ここでは次の級数(1)を利用して、小数第5位程度まで計算してみました。 log(n+1)-logn=2{1/(2n+1)+1/(3・(2n+1)^3)+1/(5・(2n+1)^5)+…} …(1) log2は(1)にn=1を代入して整理した下の式の第5項まで計算。 log2=(2/3){1+1/(3・9)+1/(5・9^2)+1/(7・9^3)…} 第1項=1 第2項=1/27=0.03703… 第3項=1/405=0.00247 第4項=1/5103=0.00019 第5項=1/59049=0.00002 log2≒(2/3){1+0.03703+0.00247+0.00019+0.00002} ≒(2/3)×1.03971≒0.6931 log5は(1)にn=4を代入して整理した下の式の第3項まで計算。 log5=2log2+(2/9){1+1/(3・81)+1/(5・81^2)+…} 第1項=1 第2項=1/243=0.004115 第3項=1/32805=0.0000304 log5≒2log2+(2/9)(1+0.004115+0.0000304) ≒2・0.6934+(2/9)・1.0041454≒1.60942 したがってN=1+(log5/log2)≒1+(1.60942/0.69314)≒3.32192 (なおこの計算方法は高木貞治先生の「定本解析概論」を参考にしました。同書ではlog2は第13項まで、log5は第6項までの和を求めて、それぞれ小数第13位までの値を示しています。) 関数つき電卓などで計算したところ以下のようになりました。 log2=0.693147181… log5=1.609437912… N=3.321928095… 急速に収束する級数を選べば、短時間に計算できる最初の3~5項までの和でもかなり精度の高い近似値が得られることがわかります。
- 178-tall
- ベストアンサー率43% (762/1732)
>おそらく、「2の N 乗を手計算で」いかにして求めるか? の方が根本問題なのかも。 手計算では、2^n = e^[n*LN(2)] をそのままじゃ使えんでしょう。 10 進 3 桁程の精度なら、 e^x ≒ ((x+3)^2+3)/((x-3)^2+3) (精度 10 進 3 桁程) e^x ≒ ((x+4)^3+12*x+56)/(-(x-4)^3-12*x+56) (精度 10 進 5 桁程) … … >Pade Approximant exp_2/2, 3/3 / 参考URL ↓ などにて、x = n*LN(2) とする。 LN(2) は、前稿の式だと過大誤差。 LN(1+d) ≒ d*(d^2+21*d+30)/{3*(3*d^2+12*d+10)} (精度 10 進 3 桁程) を使ってみると、LN(2) ≒ 52/(3*25) ≒ 0.693 。 もっとも、これだけなら定数扱いとし、LN(2) ズバリでも容認してくれる? このくらいは準備し、やおら逐次勘定でもせねばならんのでしょうね。
- 178-tall
- ベストアンサー率43% (762/1732)
おそらく、「2の N 乗を手計算で」いかにして求めるか? の方が根本問題なのかも。
- staratras
- ベストアンサー率41% (1498/3648)
No.4です。ご指摘の通り、指数の拡張(指数が整数以外の場合)などは中学校の数学の学習指導要領の範囲外です。 ただしご質問では「中学レベル」の説明も求めていますので、もっとも基本的な(数学好きの中学生であれば理解できる程度の)計算法を考えてみました。
- 178-tall
- ベストアンサー率43% (762/1732)
「3レベルで説明」はご勘弁を。 数値算法の一つだけでも。 手軽に試行できるのは、Pade 近似。 2^N = 10 ならば、まず N の整数部 3 を目算で出してしまう。 そのあと、 10/2^3 = 1.25 の自然対数を「Pade 近似」で勘定。 ln(1+x) ~ x(6+x)/(6+4x) から、x ≒ 0.2232 を得て、2 を底とする対数へ変換、 log_2 (1.25) = 0.2232/ln(2) ≒ 0.3220 誤差は、最後の位で 1 程度。 参考 URL ↓ >the Pade approximation is: P{ ln( 1+x ) } = x(6+x)/(6+4x)
- アウストラロ ピテクス(@ngkdddjkk)
- ベストアンサー率21% (283/1290)
指数は中学で習わないでしょう。
- staratras
- ベストアンサー率41% (1498/3648)
ニュートン法などを使わない中学生レベルの計算です。 2^3=8<10<2^4=16 なので、3<N<4 であることがわかります。 ここでN=3+x とおきます(0<x<1) 2^N=2^(3+x)=10 より 2^3*2^x=10 だから 2^x=10/8=5/4=1.25 ここで 2^(1/2)=1.41…だから 2^(1/4)<(1.44)^(1/2)=1.2です。 したがって 1/4<x<1/2 です。 ここでN=3+(1/4)+y とおきます(0<v<1/4) 2^N=2^3*2^(1/4)*2^y=10 だから 2^y=10/(8*(2^1/4)) 整理すると 2^y=5/(4*2^(1/4)) 両辺を4乗すると 2^(4y)=5^4/2^9=1.22… 先に調べたとおり 2^(1/4)<1.2 かつ 2^(1/2)>1.4 だから 1/4<4y<1/2 つまり 1/16<y<1/8 よって、3+1/4+1/16<N<3+1/4+1/8 すなわち 3+5/16<N<3+5/8 ここでさらに N=3+5/16+z とおくと(0<z<1/16) 2^N=2^3*2^(5/16)*2^z=10 だから 2^z=10/(8*(2^5/16)) 整理すると2^z=5/(4*2^(5/16)) 両辺を16乗すると 2^(16z)=5^16/(4^16*2^5)=1.11… ここで2^1/8=p とすると p^8=2 また(1.1)^8=(1.21)^4>(1.46)^2=2.13… より 2^(1/8)<2^(16z)<2^(1/4) したがって 1/8<16z<1/4 1/128<z<1/64 よって 3+5/16+1/128<N<3+5/16+1/64 3+41/128<N<3+21/64 3.3203125<N<3.328125 これを繰り返せばいくらでも細かくなりますが 真の値は N=3.32192809…なので、この段階でも小数第1位までは正しく求められています。
- アウストラロ ピテクス(@ngkdddjkk)
- ベストアンサー率21% (283/1290)
No.2です。 logを分数に近似する方法についての質問のURLを教えておきます。 http://okwave.jp/qa/q7561670.html 連分数展開による方法が紹介されています。
- アウストラロ ピテクス(@ngkdddjkk)
- ベストアンサー率21% (283/1290)
大学レベルでは、N=log(2) 10をテイラー展開して求める。 高校レベル N=log(2) 10を連分数展開する。 log(2) 10 =3+(log(2) 10-3) =3+log(2) 5/4 =3+1/(log(5/4) 2) =3+1/(3+(log(5/4) 2-3)) =3+1/(3+(log(5/4) 128/125)) =3+1/(3+1/(log(128/125) 5/4)) =… 適当なところ(5、6回程度の展開で十分な精度が得られる)でlogのところを0にでもおいて分数に直して計算する。 残念ながら、中学レベルでは説明できません。
- 1
- 2