//===============================
//f0218.cpp
//级数逼近求PI:PI/4 = 1 - 1/3 + 1/5 - 1/7 + ......
//===============================
#include<iostream>
#include<cmath>
using namespace std;
//-------------------------------
double getPI()
{
double sum = 0, item = 1;
for(int sign = 1, denom = 1; abs(item) > 1e-6; sign *= -1,denom += 2)
{
item = sign/double(denom);
sum += item;
}
return 4 * sum;
}
//-------------------------------
double getPI2()
{
double sum = 0, item = 1;
for(int n = 1; abs(item) > 1e-6; ++n)
{
item *= (-1.0)*(2*n - 3)/(2*n - 1);
sum += item;
}
return 4 * sum;
}
//-------------------------------
int main()
{
cout << fixed << getPI() <<endl;
cout << getPI2() <<endl;
return 0;
}
//===============================