//=============================== //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; } //===============================