求圆周率Pi的几个方法

面试的时候面试官写一段程序来求圆周率,想来觉得蛮有趣的,这里便记录一下后面所了解到的方法。

  • 莱布尼兹公式
    求圆周率Pi的几个方法_第1张图片
    Pi的莱布尼兹公式

    具体证明参考--莱布尼兹公式的证明
    有了这个公式后面的就不需要说了吧...几行代码的的事。

  • 蒙特卡洛算法
    这个就很厉害了感觉,蒙特卡洛算法也称统计模拟学,利用概率统计理论来进行数值运算。
    这里的解决方式很简单,假定构造边长为2一个正方形,内置以半径为1的圆,然后进行投点统计,假设投10W个点,统计出圆内的点有多少个,再利用几何概率模型得到概率,进而算出圆周率。

pi = 4 * ( n / m)


  • 梯度下降法
    工程师福音。
    思路就是构造一个把Pi看做未知数的不等式,对其求偏导,以步进的方式渐渐逼近我所希望求得的值。 详情可看另一篇关于梯度下降法的文章。

  • hadoop
    Hadoop 自带求圆周率的示例程序...

你可能感兴趣的:(求圆周率Pi的几个方法)