C++程序写∏/2的近似值

如题所述

精度是什么值?

#include <iostream>
using namespace std;
double cmpPi(int n);
int main() {
    cout<<cmpPi(20)<<endl;
    return 0;
}
double cmpPi(int n) {
    double sum = 1.0;
    double val_n = 1.0;
    if (n == 1) return sum;
    for (int i = 2; i <= n; i++) {
        val_n *= (i - 1.0) / (2.0 * i - 1.0);
        sum += val_n;
    }
    return 2 * sum;
}追问

精度是分子或者分母其中一个到999就结束

追答

哦,那你就稍作改造就可以了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-24

虽然我没看懂你的要求,但是我想看看你能不能看懂我的代码:

double pi=0;
double jingdu;
cin>>jingdu;
double temp=jingdu+1;
for(int i=0;temp<jingdu;i++){
    temp=1;
    for(int j=0;j<i+1;j++){
        temp*=(j/(2*j+1))
    }
    pi+=temp;
}
cout<<pi;

相似回答