7-9 计算圆周率 (15 分)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
2π =1+ 1/3+2!/(3×5)+3!/(3×5×7)+⋯+n!/(3×5×7×⋯×(2n+1))+⋯
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
我的代码如下
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
double eps,sum=1,item=1;
Scanner in=new Scanner(System.in);
eps=in.nextDouble();
for(int i=1;;i++){
item=item*i/(2*i+1);
sum+=item;
if(item<eps) break;
}
in.close();
System.out.printf("%f\n",sum*2);
}
}