计算圆周率是数学家的兴趣,也能检验计算机的综合性能。
圆周率算法
圆周率是数学中最重要的常数之一,现在的计算机可以很轻松地计算圆周率数万亿位,在计算机没有诞生以前,数学家计算圆周率经历了几何算法和分析算法,计算效率非常低。
比如圆周率在德国又叫做鲁道夫数,原因是十七世纪,德国数学家鲁道夫·范·科伊伦,在后半生的10多年时间里,利用几何算法把圆周率精确到小数点后35位。
分析算法的出现,大大提高了圆周率的计算效率,比如印度数学家拉马努金发现的这两个公式,可以很容易用手算把圆周率精确到一百多位:
拉马努金这两个圆周率公式,收敛速度非常快,比如我们只需要把第二个公式取第一项,就可以得到小数点后的八位精度:
计算机出现后,涌现了大量有利于计算机的算法公式,比如著名的梅钦公式,就是常用计算机算法公式之一。
还有高斯-勒让德迭代算法,每迭代一次,获得的圆周率精度就可以翻一倍,收敛速度非常快,迭代25次就可以获得4500万位圆周率小数精度,但是对计算机内存要求非常高。
计算圆周率的意义
要说计算圆周率的意义,一来数学家对圆周率都有着特别的爱好,圆周率作为数学中最重要的常数,在圆周率中隐藏了很多数学秘密,数学家也希望通过研究圆周率,来发现其中的秘密。
比如上面,就是十亿位圆周率小数中(十进制),出现数字0~9的频率,随着数值的增加,十个数字出现的频率应该趋近于0.1,但是数学家还是希望从中得到不一样的结果。
二来,圆周率的计算,可以用于检验一台新计算机的性能,因为圆周率计算公式中,每一次迭代的算法步数都是可以确定的,计算机可以通过计算圆周率,来检验计算机硬件的性能,比如在某些手机性能测试软件中,就有计算1000万位圆周率浮点小数用时。