i是分母的1 3 5 7......
j控制±
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
double quarterPI=0,j=1;
for(int i=1; 1/(double)(2*i-1)>1E-6; i++)
{
quarterPI+=j/(2*i-1);
j=-j;
}
cout<<"PI = "<<4*quarterPI<<endl;
return 0;
}
循环的终止条件那里要注意类型转换
i>1.e6根本进不了循环,应该是小于才对
bool flag = true;
for(int i = 1; i <= 1000003; i= i+2) {
quarterPi += flag?(double)1/i:-(double)1/i;
flag =!flag;
}