次の文章の平方根を求めるアルゴリズムの疑似言語での記述の仕方を教えてください。
変数名等は任意に設定して良い。またアルゴリズムは任意の正数の平方根を求められるようにすること。求める精度は10-8とする。
(√のない計算機)
T君はある資格試験を受験しに行った。その試験では、電卓を持ち込むことができる。当然に計算問題が出題され、計算した結果、答えは√14とでた。回答しようとしたところ、選択肢は小数で書いてある。ところが平方根を計算しようと思ったら√キーがない電卓だった。
どうしよう・・・
まず4×4=16であるから、とりあえず14を4で割ってみた。
14÷4=3.5
言わずもがなであるが、√14は二乗すると14になる正の数のことである。
√14は4と3.5の間にあることが分かる。
とりあえず、今度は14を4と3.5のあいだの3.75で割ってみる。
14÷3.75=3.7333333333
ということは√14は3.75と3.7333333333のあいだにあるわけだから同じように14を3.741666667で割ってみる。
14÷3.741666667=3.741648107
これで√14が小数点第4位までが求められた。あとはこの作業を繰り返せば、徐々に精度は良くなるはずである。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
数値計算の本に必ず出ている「ニュートン法による関数の解の求め方」を使えばいいと思いますが。
関数を f(x) としたとき、f(x) = 0 の解 x を求める漸化式は
x[n+1] = x[n] + f( x[n] )/f'( x[n] )
です。関数 f(x) が f(x) = x^2 - a ならば、f(x) = 0 の解は √a ですから、これが開平のアルゴリズムになります。この場合
f( x[n] ) = x[n]^2 - a、 f'( x[n] ) = 2* x[n]
なので
x[n+1] = x[n] + ( x[n]^2 - a )/( 2* x[n] ) = ( x[n] - a/x[n] )/2
が√a を求める漸化式となります。
初期値 x[0] = a として、上式を使って x[1]、x[2]、・・・ 、x[k-1]、x[k] と次々に求めていって、| x[k-1]、x[k] | < 1e-8 となった時点で計算を終わるようにすればいいのではないでしょうか。ちなみに、a = 14 の場合、計算結果は以下のようになり、n = 6 で計算を打ち切ればいいことになります。
x[0] = 14.00000000000000
x[1] = 7.50000000000000、x[1]-x[0] = -6.5
x[2] = 4.68333333333333、x[2]-x[1] = -2.81666666666667
x[3] = 3.83632858837485、x[3]-x[2] = -0.847004744958482
x[4] = 3.74282551356575、x[4]-x[3] = -0.0935030748090973
x[5] = 3.74165756905871、x[5]-x[4] = -0.0011679445070398
x[6] = 3.74165738677395、x[6]-x[5] = -0.0000001822847691
x[7] = 3.74165738677394、x[7]-x[6] = -0.0000000000000044
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 計算機科学 アルゴリズムについて 1 2023/01/01 19:43
- 数学 虚数単位:i、この4乗根を求める解答したものの疑問です。 1 2022/10/25 00:43
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
- 中学校受験 中学受験 3 2022/11/13 21:17
- 高校 有効数字計算 確定した値を含む 2 2023/01/18 06:03
- 数学 数2Bの数列の問題です。 自分は、 まず数列 an=ar^(n-1)と置き こちらの問題の、y= の 1 2022/07/07 16:26
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 工学 変圧器の短絡試験を行ったのですが、誤ってインピーダンス電圧を測定し忘れ、その他諸々の計算値が出せない 6 2022/07/03 01:11
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
電卓の使い方 乗数はどうした...
-
計算問題です。100万×(1+0...
-
医療費の10割料金の求めかた
-
このルートの前についてるちっ...
-
ln、expの電卓関数の使い方が分...
-
1.5乗を電卓で計算できるの?
-
√の電卓での計算について
-
logの計算式です。仕事で必要で...
-
電卓で、○の(小数点)乗を計算し...
-
電卓で「1/x」キーが無い時、同...
-
0.11^1.43の計算
-
sinθ=0.4 の θの求め方 (関...
-
これはプログラミング付き電卓...
-
120点満点を100点に換算するには?
-
電卓でカッコ計算ができない…
-
余りを出す割り算の演算方法
-
電卓での時間の足し算方法
-
平方根の問題で小数第1位の数...
-
√65って、素因数分解しても5と1...
-
電卓にパーセントのキーがあり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
電卓の使い方 乗数はどうした...
-
医療費の10割料金の求めかた
-
このルートの前についてるちっ...
-
1.5乗を電卓で計算できるの?
-
計算問題です。100万×(1+0...
-
√の電卓での計算について
-
ln、expの電卓関数の使い方が分...
-
logの計算式です。仕事で必要で...
-
電卓で「1/x」キーが無い時、同...
-
120点満点を100点に換算するには?
-
電卓で、○の(小数点)乗を計算し...
-
時間の計算について教えて下さい。
-
14%引きの計算方法を教えて...
-
1,1の10乗の計算の仕方
-
平方根の問題で小数第1位の数...
-
exp( )の計算の仕方
-
二乗の逆求め方について
-
sinθ=0.4 の θの求め方 (関...
-
電卓でカッコ計算ができない…
-
0.11^1.43の計算
おすすめ情報