使用C++计算Pi

You*_*969 4 c++ pi formula

我试图用这个公式计算Pi:http: //functions.wolfram.com/Constants/Pi/06/01/01/0005/

这是代码:

#include <iostream>
#include <cmath>
using namespace std;

int main() {

    long double n;
    cin >> n;
    long double first_part = 0.0, second_part = 0.0, pi = 0.0;

    for(int i = 0; i <= n; i++)
    {
        first_part += (pow(-1, n)) / ((2 * n + 1) * pow(5, 2 * n + 1));

        second_part += (pow(-1, n)) / ((2 * n + 1) * pow(239, 2 * n + 1));
    }

    pi = (first_part * 16) - (second_part * 4);

    cout << pi << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但出了点问题.例如,对于n = 300,它输出6.65027e-420.我真的找不到我的错误.请帮我.非常感谢你.

Bar*_*rry 8

你使用的是错误的变量:

for(int i = 0; i <= n; i++)
    ^^^^^
     iterating over 'i'
Run Code Online (Sandbox Code Playgroud)

但:

    first_part += (pow(-1, n)) / ((2 * n + 1) * pow(5, 2 * n + 1));
    second_part += (pow(-1, n)) / ((2 * n + 1) * pow(239, 2 * n + 1));
                   ^^^^^^^^^^       ^^^^^               ^^^^^^^^^^^
                      all operations use 'n'
Run Code Online (Sandbox Code Playgroud)