7-15 计算圆周率(15 分)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
2π=1+31+3×52!+3×5×73!+⋯+3×5×7×⋯×(2n+1)n!+⋯
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
作者: 杨起帆
单位: 浙江大学城市学院
时间限制: 400ms
内存限制: 64MB
代
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double fz = 1, fm = 1, sum = 0, i = 1;
double n = sc.nextDouble();
do {
fz *= i;// 分子
fm *= 2 * n + 1;// 分母(奇数相乘,从1*3开始)
i++;
sum += fz / fm;// 每一项的和累加
} while (fz / fm >= n);// 如果当前项小于阈值,退出循环
System.out.printf("%.6f", 2.0 * sum);
System.out.println("AAA");
System.out.println(fz);
System.out.println(fm);
System.out.println(sum);
}
}