题目:使用C++编写程序计算π的近似值
描述:
编写一个C++程序,使用一个特定的数学公式来计算圆周率(π)的近似值。该程序定义了一个函数calculatePi(),该函数通过一个迭代算法和一个涉及反正切函数(atan)的公式来计算π。最后,在main函数中调用这个函数并输出计算得到的π的值。
要求:
定义一个函数calculatePi(),该函数不接受任何参数,返回一个double类型的值,即π的近似值。
在calculatePi()函数中使用以下算法:
初始化term为1.0,pi为0.0,以及计数器n为0。
使用一个while循环,当term的值大于1e-15时继续迭代。
在每次迭代中,更新term的值为term *= -4.0 / (n * (n + 1))。
将term的值累加到pi上。
递增计数器n。
循环结束后,使用公式pi += 16.0 * atan(1.0 / 5.0) - 4.0 * atan(1.0 / 239.0)对pi进行修正。
在main函数中调用calculatePi()函数,并将计算得到的π的值输出到控制台。
源代码:
#include <iostream>
#include <cmath>
using namespace std;double calculatePi() {double term = 1.0;double pi = 0.0;int n = 0;while (term > 1e-15) {term *= -4.0 / (n * (n + 1));pi += term;n++;}pi += 16.0 * atan(1.0 / 5.0) - 4.0 * atan(1.0 / 239.0);return pi;
}int main() {double pi = calculatePi();cout << "π的值是: " << pi << endl;return 0;
}
运行截图: