展开全部
圆周率的算法
PI=(1-1/3+1/5-1/7+1/9……)*4循环次数越多,精确度越高32313133353236313431303231363533e59b9ee7ad9431333332616361
像你说的要计算 10000 位小数,普通的算法是无法满足的,一般需要大型计算机
参考代码:public class Test1 {
public static void main(String args[]) {
long time = System.currentTimeMillis();
Pi pi = new Pi(200000000);
pi.comput();
System.out.println(pi.getPi());
System.out.println("消耗时间>>" + (System.currentTimeMillis() - time));
}
}
class Pi {
private double pi;
private int count;
public Pi() {
}
public Pi(int count) {
this.count = count;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public double getPi() {
return pi;
}
public void comput() {
pi = 1;
int max = count * 2 + 1;
for (int i = 3; i <= max; i = i + 4) {
pi -= 1d / i;
}
for (int i = 5; i <= max; i = i + 4) {
pi += 1d / i;
}
pi *= 4;
}
}