令人惊叹的巴比伦算法

百科漫谈课程 2024-04-08 17:44:32

​原标题:巴比伦算法

作者:北京 顾森

科学技术日益进步,给我们的生产、生活带来了很多便利.现在,要想计算一个数的平方根,只需要掏出计算器,按下几个键,屏幕上便能清晰地显示出计算结果来.在计算器发明以前,利用计算尺同样可以方便地算出一个数的平方根.可是,在没有任何计算工具的时代,人们怎样快捷地计算平方根呢?难道非得像课本上那样,用试验法"逐位破解"吗?大可不必﹣﹣古人自有妙招.

还在古巴比伦时代,人们就注意到了这样一个简单的事实:如果两个正数的乘积为 n ,那么这两个数必然是一个大于等于√n,另一个小于等于√n.因此,这两个数的平均数就应该很靠近√n .受此启发,人们想出了一个绝妙的√n的计算方法:首先,令 x₀= n ,再算出 x₁,然后算出x₂,并且这样不断地算下去……那么,数列x₀,x₁,x₂,x₃,…就是一连串越来越接近√n 的数.这种平方根计算方法就叫做巴比伦算法.

巴比伦算法

例如,为了计算√3,我们取 x₀ =3,接下来依次算出:

可以看到,没用几次计算,我们就已经可以得到√3的比较精确的结果了.

利用巴比伦算法计算平方根的效率有多高呢?

正的了。

别为1.55×10⁻¹、1.04×10⁻²、5.31×10⁻⁵、1.41×10⁻⁹、9.9×10⁻¹⁹.一般情况下,第二步或者第三步的计算结果已经非常精确,足以应付各种实际需求,而第五步运算的结果更是精确到了小数点后18位,甚至超过了普通计算器的数字处理能力.

在电脑游戏中,系统经常需要计算两点之间的距离,这会涉及到平方根的计算.普通的算法效率非常低下.此时,有经验的游戏开发人员会选用巴比伦算法,它会比普通的算法快4倍左右.古巴比伦人的智慧在今天仍然绽放着光彩!

文章来源:

中学生数理化2012.1-2

八年级数学,配合人教社教材

读后感

巴比伦算法是一种迭代算法,推荐阅读张景中的科普书《从√2谈起》,有详细的解说。

我们以√3举例见识一下巴比伦算法的威力。

倒数第二排是精确值,后面出现误差了

当我们算到x₅时,得到答案已经精确到了小数点后第17位。即√3=1.7320508075688772952543539460721719142351

注意,字体加大加粗的部分是精确值,后面的数字开始出现误差了。

请看数学软件计算出来的√3:

微米是10⁻⁶米,纳米是10⁻⁹米,x₅的精确度已经大大超过了实际需求。

不过,巴比伦算法适合电脑,手工计算我还是喜欢慢腾腾的笔算法:

推荐阅读:

https://m.toutiao.com/is/idg95fd7/ - 生活中的魔法数学:平方根的笔算 - 今日头条

电脑计算平方根实际上就是采用的类似于巴比伦算法的迭代算法。

0 阅读:0

百科漫谈课程

简介:感谢大家的关注