こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

+-×÷だけを使ってルートを導く方法。

四則だけを使ってルートの二乗(√38×39など)を導く方法はありますか? 昔式で導く方法を習ったことがあるのはおぼえているんですが、やりかたは覚えていません。 それ以外の方法がありましたら教えてください。(電卓なしです。)

投稿日時 - 2002-10-28 13:07:06

QNo.391499

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(10)

ANo.10

すみません、#7間違えてましたね。

~√aを反復法で求める方法~
Step1.適当な正の数xを設定する。(解の概算値ならなおOK)
Step2.(1/2){x+(a/x)}を計算する。
Step3.上で計算した値とxに差がなければ答え。
差がある場合、計算値を新しくxとしてStep2.に戻る

・・・Step2.で(1/2)が抜けてました。

ところで、#7の前半で、1回の反復で解との誤差が1/2未満になることを示しましたが、じゅうぶん解に近づいたところでは2次収束します。
大域的に収束し、かつ収束の速度も極めて速いので、かなり優秀なアルゴリズムだと思います。

2次収束はほぼ自明ですが、X(n)>=√aを用いて以下のとおり。
|X(n+1)-√a|=|(1/2X(n))(X(n)-√a)^2| <=(1/2√a)*|X(n)-√a|^2


a=38*39, xの初期値40から、メモリー付電卓で計算するならば、
Step0.40(xの初期値)をメモリーに記憶(xを記憶)
Step1.38*39(a)/(MR)=を計算(a/xを計算)
Step2.M+((x+a/x)がメモリーに格納)
Step3.MR/2=を計算((1/2)(x+a/x)を計算)
Step4.M-((メモリーには(1-1/2)(x+a/x)が入ることになる→次の反復の初期値xに相当)
Step5.MR*=を計算してaに近くなければStep1.に戻る
という手順でいけそうですね。

投稿日時 - 2002-10-30 20:58:27

ANo.9

すいませんもう一度失礼します☆

微分を使ったやり方で√(38*39)ということですと、38.5です。
xの増加分が相対的に小さいと求める値はより近いものになります☆

投稿日時 - 2002-10-30 18:29:34

ANo.8

近似分数を求めるのであれば,連分数を使うのがよいのでは?

x:=√1482 とおくと,x=38.***** なので,38が最初の近似。次に
y:=x-38 とおくと,0<y<1なので,逆数 1/yを考えます。
2<1/y<3,すなわち,1/y=2.***** なので,38+1/2 =77/2が次の近似。
これは,38+1/2.*** →38+1/2 と近似したわけです。
ちなみに,1/y=1/(x-38)=(x+38)/38 です。

z:=(1/y)-2 (つまり,0.***部分)とおくとき,1/z=x+38=76.**** なので,
38+1/(2+1/76)=5890/153が次の近似(左の式で,76.****が正確な値)。
同様に,次は11857/308となります。

一般に,ルート何とかという数(2次無理数)は循環するので,求めるのは
簡単です。この場合も,38の整数部以外では,{2,76}が循環します
(1/z-76=x-38=yですから)。

URLは,『連分数』で検索すればいくらでもでてきそうですね。

投稿日時 - 2002-10-30 17:27:39

ANo.7

|X(n+1)-√a|=|(1/2X(n))(X(n)-√a)^2|
の続き。

まず、X(n)>0のとき、(1/2)(X(n)+a/X(n))>=√aが言えます.(相加相乗平均)
X(0)>0なので、n>=1のときX(n)>=√a
等号成立はX(n)=√aのとき。

n>=1に対して、
|X(n+1)-√a|=|(X(n)-√a|*(1/2)|1-(√a/X(n))|
ここでX(n)>=√aなので、0<=1-(√a/X(n))<1

よって、|X(n+1)-√a|<(1/2)*|(X(n)-√a|(証明終)

まぁ証明はどーでもえぇです。(笑)

では実際の計算機の使用方法:
Step1.適当な正の数xを設定する。(解の概算値ならなおOK)
Step2.x+a/xを計算する。
Step3.上で計算した値とxに差がなければ答え。
差がある場合、計算値を新しくxとしてStep2.に戻る
以上です。

ご質問の問題では、a=38*39に対して、xの初期値40とすると、
1回目:38.525
2回目:38.49676347
3回目:38.49675311
4回目:(同じ)

投稿日時 - 2002-10-30 00:09:17

ANo.6

X(0)に適当な正の整数をセットし、
X(n+1)=(1/2){X(n) + a/X(n)}
の漸化式を計算すると、収束すればlim(n→∞)x(n)=√aがいえます。

収束性の議論は他の方にお任せします。
|X(n+1)-√a|=|(1/2X(n))(X(n)-√a)^2|
あたりからうまくいえないですかねぇ?

投稿日時 - 2002-10-29 23:09:12

ANo.5

38×38=1444
38×39=1482
39×39=1521
なので、
38と39を(1482-1444):(1521-1482)=38:39
に比例配分すると,
38+38/77=38.493506493
となり、

√38×39
=√1482=38.4967531
と少し近くなりますね。

しかし、(38+39)÷2=38.5に負けてますね。
手計算(開平算)でも、解を5桁以上出すのは難しいですね。

ここは、(38+39)÷2=38.5で笑ってください。

投稿日時 - 2002-10-29 11:30:10

ANo.4

No3の
217/36=6.027777777

√38=6.164414002
とぜんぜん違いますね。
これなら、
(36,6)と(49,7)を2:8に比例配分して,
6+(2/(49-36))=6.153846153
としたほうがましですね。

投稿日時 - 2002-10-29 10:54:38

ANo.3

ルートは微分を使って近似値を出す方法があります。

f(x+dx)nearlly equal f(x)+dy = f(x)+f ' (x)dx

ということを利用します。
これで√38を求めるやり方を説明します。

f(x)=√xで、分かりやすい値はx=36で、y=6ですね。
dy = f ' (x)dx = 1/2*x^-1/2*dx
そしてdxはxの増加分ですから、2です。

f(36+2)nearlly equal f(36)+dy=6+(1/(2*√36))*2=217/36

これが近似値です。
(* は掛ける、^ は指数を表わしています。)
でもこれは四則だけじゃないのかな(^^;?

投稿日時 - 2002-10-28 13:46:58

お礼

なかなか難しい方法ですが参考になりました。ありがとうございました。

投稿日時 - 2002-10-28 23:55:18

ANo.2

開平法のことを言っているのでしょうか?

「それ以外の方法」とは、開平法以外の筆算で求める方法を指しているのでしょうか?

とりあえず、「昔式で導く方法を習ったことがあるのはおぼえているんですが」に
あたるであろう開平法について書いてあるページを参考URL に紹介しておきます。

参考URL:http://www2.justnet.ne.jp/~s.honma/root.htm

投稿日時 - 2002-10-28 13:32:58

お礼

あのやり方は開平方っていうんですね。どうもありがとうございました。

投稿日時 - 2002-10-28 23:54:00

ANo.1

質問の意味がわからないのですが・・・・

「ルートの二乗」をすれば元の数にもどるだけのような気がします。
それとも「ルート」つまり平方根を計算する方法でしょうか。
それなら筆算でできます。
とりあえず質問の意味をはっきりしてください。

投稿日時 - 2002-10-28 13:27:37

あなたにオススメの質問