防雷页…
因为只有当下很快地看过去,
所以我把我看到的数学计算大致上讲一下,
如果理解有误的话还请见谅!
一开始零提到
(1) 140 ×140 = 19600
(2) 140 ×141 = 19740
(3) 141 ×141 = 19881
然后说 141 ×141 = 140 ×140 + 140 + 140 + 1
其实意思就是,141 ×141 可以拆解成:
(140 + 1) ×(140 + 1) = 140 ×140 + 140 + 140 + 1
所以,如果想要计算141 ×141的话,不需要真的全部乘出来,
只要知道 140 ×140 的结果就会好算很多,
直接再加上三项就可以得到 141 ×141 的答案!
于是乎,如果我们想要计算 1.414213561 × 1.41213561 的结果也是可用类似的手法!
(以下全部用整数来看,最后再把小数位数除掉即可)
1414213561 ×1414213561
= 1414213560 ×1414213560 + 1414213560 + 141423560 + 1
1414213562 ×1414213562
= 1414213560 ×1414213560 + 1414213560 ×2 + 141423560 ×2 + 4
1414213563 ×1414213563
= 1414213560 ×1414213560 + 1414213560 ×3 + 141423560 ×3 + 9
以此类推,得到两个相同数字相乘的结果之后,
再观察哪个算出来的结果会小于 2000000000000000000 且与它最接近,
那就可以推得原题的小数点后第九位的数字了!
接着再用类似的手法计算小数点后第十位的数字…
因为 1414213560 + 141423560 + 1、1414213560 ×2 + 141423560 ×2 + 4…
这些计算都简单多了,
基本上只要很简单的乘法与加法就可以得到结果,
所以这种算法会比直接把1414213561 ×1414213561乘出来要好算,
错误率也会降低!
这就是为什么零要请大家先把 1.414213560 ×1.414213560 计算出来的原因,
以上!