7-15 计算圆周率
题目描述
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
参考代码
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double PI = 1, up = 1, down = 1,num=1;//num为最后一项的值
double i, f;
cin >> f;//阈值
for (i = 1; num >= f; i++) {
up *= i;
down *= i * 2 + 1;
num = up / down;
PI += num;
}
cout << fixed << setprecision(6) << 2 * PI;
return 0;
}
总结
重点在于如何表示出表达式的最后一项,直接写不好写,所以我分成了分子(up)和分母(down)两部分。
其他题目,请看—>PTA—基础编程题目集
创作不易,如果我的文章对你有帮助,请点赞、收藏和关注,您的支持是我前进的最大动力。