Calculate Pi 计算n次Pi
一般常用计算Pi的公式有2个, 一个是Nilakantha序列, 另一个是Leibniz序列.
先介绍后一个,Leibinz序列, Leibinz是个神牛, 有多神呢..如果一个人在一个领域到了极限, 我们称之为大牛, 然而神牛是通吃 – -. 到底有多通吃..请自行Wiki..(他的wiki的长度有10个下拉页之长).前言毕.
Leibinz给出一个非常简单的计算π的方式, 有多简单呢:请看code
public double Leibniz(int times){ double sum = 0; for (int i = 0; i < times; i++) { sum += Math.pow(-1,i) * (double) 4/(2*i+1); } return sum; }
注意, 这里的input是次数.
对应的通项公式为:
Nilakantha,是Nilakantha Somayaji发明的, 这人一直研究无穷序列, 贡献嘛…最出名的就是这个公式了, 不过在实际运算中, Nilakantha的速度要比Leibinz快.
public double Nilakantha(int times){ double denominator = 2; double sum = 3; for (int i = 0; i < times; i++) { sum += Math.pow(-1,i) * (double) (4/(denominator * (denominator+1)*(denominator+2))); denominator += 2; } return sum; }
对应的通项公式为:
Leave A Comment