|
楼主 |
发表于 2012-3-8 19:03
|
显示全部楼层
[原创]大整数的乘法
[这个贴子最后由ysr在 2012/03/09 11:13pm 第 1 次编辑]
上面对两位老师的验证有问题,重新做,如下:
a = 5192 02532 99870 41388 59072 78116 03754^,
b = 20 28240 96036 51670 42394 72512 860162/4u^:
a/b = 255.9866126089999999999999999999999580436565166897496535606911145267761131805173135944642126560211181640……J
上面这个是本人编程做的“大数相除”,小数有 100 位。不知楼主能不能验证上面的计算是否正确?o
©数学中国 -- 数学中国 www.mathchina.com `FQ
对老师的结论再次验证如下,B&=8a.
高位数字的验证:dY
5192 02532 99870 /20 28240 96036 =255.98661260965J!Xy?
5192 02532 99870/255=203608836470.078,Q{J
20 28240 96036 *255=51720144489180,L2MU8
均有2位相同,cPJo
末尾数字:f
72512 86016*255=184 907 793 4080,取末尾7位,与被除数末尾比较,@?xx
78116 03754- 793 4080=780 366 9674,再与余数比较,=CqH
余数=72512 86016*0.9866126=7154210149.5894016,}
整数部分位数相同,最高位相同,运算结果是对的,但精确度无法验证,用如下法验证,6算运算运算>(L
5192 02532 99870 41388 59072 78116 03754,(被除数)
b = 20 28240 96036 51670 42394 72512 86016=2^104(除数)
1/20 28240 96036 51670 42394 72512 86016=4.93038 06576 31323 78382 33035 0174e-32
255.986612608999999999999999999999958043656516689749653560691114526776113180517 31359 44642 12656 02111 81640……
我们知道1/9=0.11111……,这个很重要,以下看看9的倒数的性质,
2/9=0.2222222……
11/9=1.22222……
3/9=0.33333……
12/9=1.3333……
4/9=0.44444……
13/9=1.44444……
5/9=0.555555……
23/9=2.555555……
……
运用这个可以判断精确度,
5192 02532 99870 41388 59072 78116 03754/9=57689 17033 31893 48762 11919 79067083.777……
31359 44642 12656 02111 81640(商末尾25位)*4/9=13937 53174 27847 12049 69617.7777777777……
可见末尾数是准确的 ,
所以,老师的结果是对的!KlH
那么如果L.C[OX
a="204181972518847178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554"G\{1j
b="20418197251884732432432432423432423324178731511459272205792.3725762648106369158720449714556708974141349142364448644923186554234"i0
a/b="0.00000 00000 00000 00000 00099999999999999928694580099855311814333832059747528320512312544690041006331089896841048206045437850801125169285958648464645305455307601131698230358121859872037958276564685922576439715475993323752258151677056392535649988592943440545144186666367461644699154962489320534313136073254528566396208622912747914654284517442501275421539574253845056890372220516907916763212486881712630980329339566414076320736640270772070459866870258348245991001397346540490420567741574430516003161171367625886090379321596535525"这是保留到小数点后532位,请天山草,上面计算结果正确吗,如果正确你你计算这个花费的时间是多少?能否分享下 除法的算法。!a
©数学中国 -- 数学中国 www.mathchina.com r$
对楼上朋友的结论验证如下,0
对高位验证,K$a#}9
20418 19725 *0.9999999999999992869=2041819725,:T
©数学中国 -- 数学中国 www.mathchina.com ~[
对末尾验证,oZS=
©数学中国 -- 数学中国 www.mathchina.com aE6@"
31865 54234*0.99999 99999 =3186554233.6813445766,BvQjQg
©数学中国 -- 数学中国 www.mathchina.com !
与被除数末尾比较,4923186554-3186554233.=1736632321,lh
实际上我们去掉了23个0,位数搞不对了,观察数据,有几位相同是86554,不是偶然的,说明数据是准确的,
©数学中国 -- 数学中国 www.mathchina.com Kj <
与余数比较,余数=31865 54234*0.99999 28694(商的次高位的数字)=31865 31511.95637 90396,Y&
©数学中国 -- 数学中国 www.mathchina.com N
631865 31511与3186554233.6813445766整数部分位数相同,最高位相同,,V
所以,结论正确!PK
两位老师的结论是 相当 的 准确的!
|
|