嗨,我已经建立了一个算法来计算 pi,但我使用了 long float,所以我只得到 3.14159,我需要更高的精度。如何?这是代码:
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
long double a, l, p, pi, r;
long long int n, m;
r = 100000;
a = r * sqrt (3) / 2 ;
n = 100000;
m = 6;
while (n > m)
{
a = sqrt (r / 2 * (r + a));
m = m * 2 ;
}
l = sqrt (4 * (pow (r, 2) - pow (a, 2)));
p = m * l;
pi = p / (2 * r) ;
cout << pi << endl;
cout << "number of corners used: " << m << endl;
return 0;
}
顺便说一句,我高中有一台24核(12个双核节点)的超级计算机,以防万一