【求圆周率】
//圆周率,它定义为圆周长与直径之比。
//现用π/4=1-1/3+1/5-1/7+⋯公式求π的近似值,直到某一项的绝对值小于〖10〗^(-6)为止。
//由公式π/4=1-1/3+1/5-1/7+⋯可推出π=(1-1/3+1/5-1/7+⋯)×4问题是(1-1/3+1/5-1/7+⋯)的值怎么算呢?
//设变量ans为最终结果,初始值0,使用 while()循环进行逐项累加直到某一项的绝对值小于〖10〗^(-6)为止。
//但是累加每一项的时候,分母在不断地递增(每次多2),所以需要定义一个变
//量来保存分母的值,此外每一项的正负号也在不断变换,这可能也需要一个变量来
//示,例如x=-x即可完成正负号的转变。
//【伪代码】
//float n=1.0 n表示分母,初始为1
//float t=1, ans=0; //t为循环中要加的每一项
//当(t的绝对值>1e-6)时 //1e-6就是1乘以10的-6次方{
// ans=ans+t //累加
// 更新分母的值
// 改变正负号
// 更新t的值
//输出ans*4的值
//float n=1.0 n表示分母,初始为1
float n=1.0;
//float t=1, ans=0; //t为循环中要加的每一项
float t=1, ans=0,x=1;
//当(t的绝对值>1e-6)时 //1e-6就是1乘以10的-6次方{
while(abs(t) > 1e-6){
// ans=ans+t //累加
ans=ans+t;
// 更新分母的值
n = n + 2;
// 改变正负号
x=-x;
//更新t的值
t = x/n;
}
//输出ans*4的值
cout << ans * 4 << endl;