ホーム >> 数と式 >> 開平法の手順

平方根の近似値を求める開平法のやり方を詳しく紹介します.



⇨予備知識


開平法とは

開平法とは,与えられた正の有理数の平方根の値を筆算を用いて求める手続き(アルゴリズム)のことです.

たとえば, $$\sqrt{2}=1.41421356...$$ $$\sqrt{3}=1.7320508...$$ などの近似式をご存知の方は多いと思いますが,開平法を用いれば,どのような有理数の平方根の近似値も筆算だけで求めることができます.

基本的な事実として,→平方根の定義と基本的な公式 の4節で紹介しているように,整数 $m$ が与えられたとき,$\sqrt{m}$ の整数部分は ($m$ が比較的小さな数であれば) 容易に求めることができます.同様に,有理数 $\frac{p}{q}$ が与えられたとき,$\sqrt{\frac{p}{q}}$ の整数部分も容易に求めることができます.つまり,(比較的小さな)有理数の平方根の整数部分であれば,ごく簡単に求められます.開平法を使うと,整数部分だけでなく,小数部分まで求めることができます.さらに,大きな数の平方根の値を知るときにも役立ちます.

$\sqrt{2}$ の小数点以下第 $20$ 位まで知りたいと,ふと思ったとしましょう.あるいは,$\sqrt{2030625}$ が整数になることはわかっているけれど,その値がいくつか知りたいというような状況のときには,開平法が便利です.

整数の開平法のやり方

さて,さっそく開平法のやり方をみてみましょう.開平法はふたつの筆算を並行に進めていく,かなり複雑な手続きですので,ゆっくり丁寧に紹介します.まずは整数の開平法から説明します.小数の開平法も整数の場合とほぼ全く同じなので,この節さえしっかり理解していただけたら本望です.

ここでは例として,$\sqrt{98596}$ の値を求めてみます.

Step 0: 小数点を基準に $2$ 桁ごとに区切る

まず,与えられた数を下図のように,小数点を基準に $2$ 桁ごとに区切ります.整数の場合は,右端から $2$ 桁ごとに区切ることになります.
開平法のやりかた
この例では,$98596$ は $9,85,96$ の $3$ つのブロックに分けられます.

Step 1: 一桁目を求める

開平法のやりかた
つぎに,$1$ 桁目の値を求めます. 一番左のブロックの数を $x$ とします.$a^2$ の値が $x$ 以下で,かつ $x$ に最も近くなるような自然数 $a$ を求めます.この例では,$a=3$ です ($2$ 乗した値が $9$ 以下で,かつ $9$ に最も近い自然数は $3$ なので).この値を 下図のように $2$ 箇所に書き込みます.
以下では,縦の点線の左側と右側で $2$ つの筆算を並行に行っていくことになります.

Step 2: 左:一桁目をおろす 右:かけ算

開平法のやりかた
点線の左側では,すでに書かれてある数の下一桁をすぐ下に書き込みます.(この例では赤色の $3$)
点線の右側では,前のステップで求めた $a^2$ をブロックの下に書き込みます.(この例では青色の $9$)

Step 3: 左:足し算 右:引き算

開平法のやりかた
つぎに,横線を引き,その下に,左側は縦の二つの数を足した結果を書き,右側は縦の二つの数を引いた結果を書きます.さらにつぎのブロックの $2$ 桁の数をおろします.

この例では,左側は $3+3=6$ を計算し,右側は $9-9=0$ という計算をし,つぎのブロックの $85$ を下におろしています (引き算の結果が $0$ のときは書く必要はないです).

Step 4: 二桁目を求める

開平法のやりかた
つぎに $2$ 桁目の数を求めますが,ここが一番難しいステップです.横線のすぐ下の数のうち,左側の数を $b$,右側の数を $c$ とします.(この例では,$b=6,c=85$) このとき,$(10b+x)x$ の値が $c$ 以下で,かつ $c$ に最も近くなるような自然数 $x$ が二桁目になります.この $x$ を右図のように,二つ目のブロックの上と,横線左下の数の右の二カ所に書き込みます.

この例では,$(60+x)x$ が $85$ 以下で,$85$ に最も近くなるような自然数は $x=1$ です.したがって,右図のように $1$ を二カ所に書き込みます.

以後,Step 2〜Step 4 を繰り返す

開平法のやりかた
あとは,Step 3 の右側の引き算の結果が $0$ になるまで,(あるいは無限に) Step 2〜Step 4 を繰り返します.

左:$61$ の下一桁は $1$ なので,$1$ をおろす.
右:$61\times 1=61$ なので,$85$ の下に $61$ を書き込む.

開平法のやりかた
左:$61+1=62$
右:$85-61=24$,$3$ つ目のブロックの $96$ をおろす.

開平法のやりかた
$(620+x)x$ が $2496$ 以下で,$2496$ に最も近い $x$ を求めると,$x=4$ が見つかる.二カ所に $4$ を書き込む.

開平法のやりかた
右側の引き算が $0$ となるのでここで終了.結局, $$\sqrt{98596}=314$$ と求めることができます.

ここで例としてあげた $\sqrt{98596}$ は実は整数でした.つまり,$98596$ は平方数だったので,上のように,Step 3 の右側の引き算がいずれ $0$ となって開平計算が終了します.しかし,平方数でない $m$ に対しては,$\sqrt{m}$ の開平計算をいくら繰り返しても Step 3 の右側の引き算が $0$ になることはなく,計算は無限につづきます.言い換えると,$\sqrt{m}$ の近似値を好きなだけ精度よく求めることができます.

実際に, $\sqrt{2}$ の近似値を開平法で求めてみましょう.$2=2.00000000...$ と考えて,開平法を適用すると次のような結果になります.(ここでは小数点以下第三位まで求めています)
小数の開平法

小数の開平法のやり方

小数の開平法も整数の場合と全く同じです.まず,与えられた数を小数点を基準に $2$ 桁ごとに区切ります.それから,小数点を無視して,整数の場合と全く同じように開平法を進めていきます.最後に,根号の中身の小数点の位置と同じ位置に小数点をつければよいです.たとえば,$\sqrt{123.4567}$ を小数点以下第三位まで開平法で求めると,下図のようになります.
小数の開平法
当然のことながら,もっと先まで小数表示を知りたければ開平計算を気の済むまで進めればよいです.ただし,開平計算は,進めば進むほど Step 4 の部分が難しくなります.