• 締切済み

平方根を求めるアルゴリズムについて・・・

次の文章の平方根を求めるアルゴリズムの疑似言語での記述の仕方を教えてください。 変数名等は任意に設定して良い。またアルゴリズムは任意の正数の平方根を求められるようにすること。求める精度は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位までが求められた。あとはこの作業を繰り返せば、徐々に精度は良くなるはずである。

noname#45629
noname#45629

みんなの回答

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.3

> まず4×4=16であるから、とりあえず14を4で割ってみた。 出発点は、実は任意の正の数でよかったりします。 繰り返す作業の回数が1~2回程度違うだけで。

  • inara
  • ベストアンサー率72% (293/404)
回答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

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

個人的には「どこから 4 が出てきたのか」がわからないんですが, あなたはどこがわからないんですか?

関連するQ&A

  • 平方根はどういうアルゴリズムにより計算していますか?

    電卓或いはExcelなどの計算ソフトで平方根はどうやって計算しているのでしょうか? 検索してみるとニュートン法により計算出来ると書かれてあるのですが、 これは電卓でも一般的に使われているのでしょうか? それと3の0.7乗みたいな半端な数の場合にも 同じくニュートン法により計算しているのでしょうか?

  • 平方根

    私は平方根が苦手な学生です。この間塾で配られたプリントにこのような問題が出題されました。(1)、3√8-√32+√50(2)、(√5+3)(√5-3)(3)、(2√6-√2)2←2乗。何度か挑戦してみたのですが、自分の解き方に自信がなく、答えが配られていないため、困っています。どなたか解き方(途中式)と回答を教えてください。よろしくお願いいたします。

  • 平方根

    平方根(√)の計算が出来る電卓を無料でダウンロード出来るサイトがありますか?あれば教えて下さい。

  • 平方根?の計算について教えてください。

    すみませんが、自分は数学どころか算数がとても苦手で 本当に恥ずかしいのですが、教えてください。 内容としては、ある物を測定する装置があり それの分解能は「±1.1」、再現性は「±0.9」で これの総合精度を求めよというものです。 上司にこんな計算できませんと恥を忍んで聞くと 「±1.1」「±0.9」これらの数字の2乗和の 平方根で求めるということでした。 いろんなサイトで平方根について調べましたが 残念ながら全く理解できませんでしたので 答えが知りたいのは当然ですが、今後は自分で 計算したいので計算方法など細かく教えてもらえると 助かります。 本当に馬鹿ですみませんがお願いします。

  • 数学の平方根について

    (√6-1)二乗 この平方根の計算のやり方を教えてもらえますか??

  • 平方根計算付きのテンキー電卓について

    平方根計算付きのテンキー電卓について テンキー電卓を買おうと思っていますが、平方根計算が付いた機種を見つけられません。 同機能が付いている機種が有りましたら教えてください。

  • 平方根教えて下さい

    平方根の試験の過去問なんですが答えがないので合ってるのか分からないので解き方共に教えて下さい。 (√3+√6)2 ※カッコの後ろの2は右上につく小さい2乗のことです。 

  • 小数点の平方根の数を求めることをなんていうのでしょうか?例えば√0.9

    小数点の平方根の数を求めることをなんていうのでしょうか?例えば√0.99を平方根を取るといくらなのでしょうか?計算方法を教えてください。よろしくお願いします。

  • modを使用した平方根の求め方

    解き方が解からない問題があります。 どれだけ考えても解き方がわからないので、どなたかわかる方教えてください。 【解き方が解からない問題】 大きな素数の積n=pqが与えられた時、nを素因数分解するのは非常に難しい。 整数mと整数y(<m)が与えられた時y=x2(xの二乗) mod mなる整数解xが存在すれば、yは mod mで平方剰余であるという。 xを mod mでのyの平方根という。 mが素数7の時、 12(1の二乗の事です。二乗の書き方がわからなくて・・・)≡1 (mod 7) 、 22(2の二乗) ≡ 4 (mod 7) 32(3の二乗)≡2 (mod 7) 、 42(4の二乗) ≡ 2 (mod 7) 52(5の二乗)≡4 (mod 7) 、 62(6の二乗) ≡ 1 (mod 7) となるので、1、2、4が平方剰余で、各平方剰余には2個の平方根がある。 mが二つの素数の積の場合、4個の平方根がある。 ここまでが参考書に載ってる説明です。 ここから私がわからない問題です。 102(10の二乗) mod 77=23 n = 77 の素因数7と11から素因数の知識を利用してZのmod nでの平方根Sを計算する。 S2(Sの二乗) ≡ 23 mod 7 S2(Sの二乗) ≡ 23 mod 11 上の2つを解いて、mod 77での4つの平方根10、32、45、67を得る。 この2つの式から、何をどうやって計算して、4つの平方根10、32、45、67が導き出せたのかわかりません。 二乗の表記の仕方がわからず、とても見難くなってしまいました。すみません。 乱文になってしまいましたが、どなたかわかる方教えてください。 よろしくお願いします。

  • 平方根の計算について

    現在、公務員試験を受けようと勉強しているのですが、平方根の計算問題で納得がいかない問題があります。どなたかわかる方いらっしゃいましたらご指導お願いいたします。以下問題です。  (問)a=2+√2、b=2-√2のとき、aの2乗(a×a)-bの2乗(b×b)の値を求めるとどうなるか。  問題集の答えでは8√2という答えになっています。私がどう計算しても16にしかなりません。計算の手順など教えていただけたら幸いです。