能否提供一个约翰·沃利斯(John Wallis)用于计算圆周率π的C++程序实现代码示例?
时间: 2024-12-16 13:22:03 浏览: 4
约翰·沃利斯(John Wallis)虽然是一位数学家,但他并没有发明一种特定的算法来直接计算圆周率π。然而,我可以为你展示一个基于无穷级数的简单方式,这个级数常用于近似π,这就是著名的Leibniz公式,它表示为:
π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ...
下面是一个简单的C++程序,展示了如何使用该级数来逼近π:
```cpp
#include <iostream>
#include <cmath>
double calculatePi(int terms) {
double pi = 0;
int sign = 1; // 初始符号为正
for (int i = 0; i < terms; ++i) {
pi += sign * (1 / (2 * i + 1));
sign = -sign; // 每次迭代改变符号
}
return 4 * pi; // 将级数乘以4得到π的近似值
}
int main() {
int terms = 100; // 可调整精度
double approximation = calculatePi(terms);
std::cout << "Approximation of pi with " << terms << " terms is: " << approximation << std::endl;
return 0;
}
```
在这个程序中,`calculatePi`函数根据给定的项数计算π的近似值。
阅读全文