平方根は、小数点以下何桁まで求められる? [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
理論的には無限大に求められるはずですが…
先輩方の皆さんはどのような計算方法を使って
小数点以下何桁まで求めたことがありますか? 面倒な計算なんかいらないんじゃね?
暗記あるのみ
√2=1.414213562
√3=1.732050808
√5=2.236067977
の要領でいいんじゃね? ではその要領で暗記している√13を書いてみてください それじゃダメだな
例えば2.74の平方根まで暗記しているのかの話 暗記に頼っても何のメリットもない
素直に様々な計算方法を勉強することを勧める 平方根は無理数だから求めていたら天文学的な数字になるだろ
まあ、そこまで求めること自体無理と思うけどw すなわち、近似値を求めるのであって
限り無く近づける事は出来ても一致はしない ニュートン法で、狙った零点に収束するための簡単な十分条件は知られてないの? コンピューターのマシン語でプログラムできるならニュートン法よりも普通の開平法の2進数バージョンの方が圧倒的に速い。
多数桁除法と同程度の速度で計算可能だ。 算木を使えば任意の代数方程式の解を任意の桁まで求められる 小数で求めるなら開平方、分数で求めるなら連分数展開か算術平均と幾何平均と調和平均を使えばいいんじゃない
個人的に連分数展開は好きだが速さと正確さと求めた後の使いやすさで劣るから趣味向き
僕は開平方で10分くらいで10桁くらい導いた おれは、中学の時、怪平方習ってすぐに20桁までもとめて、へたばった。 高校で√2を40桁暗記した馬鹿が居た
(オレはπを30桁暗記) 電卓の√キーを使うと簡単に計算できるけど…
これじゃダメなんだよね 小数点以下500桁まで計算してみました
誰か検算してみてください
√2=1.
4142135623_7309504880_1688724209_6980785696_7187537694_
8073176679_7379907324_7846210703_8850387534_3276415727_
3501384623_0912297024_9248360558_5073721264_4121497099_
9358314132_2266592750_5592755799_9505011527_8206057147_
0109559971_6059702745_3459686201_4728517418_6408891986_
0955232923_0484308714_3214508397_6260362799_5251407989_
6872533965_4633180882_9640620615_2583523950_5474575028_
7759961729_8355752203_3753185701_1354374603_4084988471_
6038689997_0699004815_0305440277_9031645424_7823068492_
9369186215_8057846311_1596668713_0130156185_6898723723… コンピュータで計算させるのに、一番速いのが開平法だが、一番簡単に多数桁計算ができる手法はこつこつアルゴリズムだろうな。
あんなプログラムで多数桁演算ができるなんて… √Aを求める方法
X1・X1がAに最も近くなる整数をX1とする
√Aの近似値X2=A+(X1・X1)/2X1
√Aの近似値X3=A+(X2・X2)/2X2
同様にしてX4、X5、… と求めていく
Xをフィードバックさせることでいくらでも近似していく √3を求める方法1段目
X1・X1が3に最も近くなる整数をX1とするとX1=2となる
√3の近似値X2=3+(2・2)/2・2
=3+4/4
=7/4
=1.75 どうして分数を1行で書くときに、必要なカッコを省く奴がこうも多いのだろう? カッコがなくても読み取れる場合は多い
ということを知っているからじゃないかな 書き直すと
√Aを求める方法
X1^2がAに最も近くなる整数をX1とする
√Aの近似値X2=(A+X1^2)/(2・X1)
√Aの近似値X3=(A+X2^2)/(2・X2)
同様にしてX4、X5、… と求めていく
Xをフィードバックさせることでいくらでも近似していく √3を求める方法1段目
X1^2が3に最も近くなる整数をX1とするとX1=2となる
√3の近似値X2=(3+2^2)/(2・2)
=(3+4)/4
=7/4
=1.75 それよりも>>27の数字の羅列・果たしてどこまで信用できるのか ルート6はNASAのサイトで100万桁まで計算されてあった >> 38
1.4142135623730950488016887242096980785696718753769480731766797379907324
784621070388503875343276415727350138462309122970249248360558507372126441
214970999358314132226659275055927557999505011527820605714701095599716059
702745345968620147285174186408891986095523292304843087143214508397626036
279952514079896872533965463318088296406206152583523950547457502877599617
298355752203375318570113543746034084988471603868999706990048150305440277
9031645424782306849293691862158057846311159666871301301561856898723723 ^ 2
= 1.999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999999
999999999999999999999999999999999999999999999999999999999999999999999985
0... 検索してみると、どこかの大学のセンセーがニュートン法での演算ルーチンを改良して「速い」だとか
書いてる論文見かけたけど…
普通の開平法を2進法で行うプログラムを作った方が圧倒的に速いと思うんだよ。
作ったら分るが、この方法だと、「乗除算1回のレベル」の演算速度で平方根を求めることができるぞ。
ニュートン法は確かに速いが、いくらなんでも何度も乗除算行うだろ? >>27
合っているよ。俺もプログラム作って確かめてみた。 ありがとう
そうなると何桁でも求める事ができそうだね タイガー計算機でも計算できる
タイガー計算機が無限に桁数あれば無限に計算できる アセンブラでプログラム作って円周率を1万桁求めた事はある 低精度ですまんが、
その付近でルートが分かってる数を数直線に描いて、美意識で決めるってのも案外馬鹿に出来ない。
√13なら、
1 4 9 16 25(等幅フォントで見ても少し狂ってるだろうケド)
に、「イイ感じ」に点を打っていくのが好きだ。 子供の頃算盤で習った
初段以上は開平算の試験あったからね
平方九九やら半九九やら ■ このスレッドは過去ログ倉庫に格納されています