根据公式:Π/4=1/1-1/3+1/5-1/7+1/9-1/11…计算并输出Π的值
package com.qianfeng.day04;
public class Work02 {
public static void main(String[] args) {
double pi = 1; //表示圆周率
double i = 1; //设置循环变量
double sign = 1; //设置正负号
while(true) {
sign = sign * (-1);
pi = pi + sign*1/(2*i+1);
if(1/(2*i+1) < 0.00000001) {
break;
}
i++;
}
System.out.println("pi = " + pi*4);
}
}
技巧:在此计算圆周率的算法中,由-和+号反复交替出现,可以通过sign变量来描述其前面的正负号:在开始的时候设置sign的初始值为-1;在循环的过程中通过语句sign = sign*(-1);的形式来改变正负号。
然后在分母中可以发现,分母跟循环变量有着2*i+1=分母的关系
该博客展示了如何利用无限循环和符号交替的方法计算π的近似值。代码中定义了变量pi、i和sign,通过不断累加和减去奇数倒数的方式逐步逼近π值,直到分母的倒数小于0.00000001为止。这种方法体现了数学和编程的结合。

被折叠的 条评论
为什么被折叠?



