今天题是关于π的,直接开始啦!
题目:求π的近似值
请利用“正多边形逼近”的方法求出π的近似值。
程序如下:
#include <stdio.h>
#include <math.h>
int main()
{
double e = 0.1, b = 0.5, c, d;
long int i;
for (i = 6; ; i *= 2)
{
d = 1.0 - sqrt(1.0 - b * b);
b = 0.5 * sqrt(b * b + d * d);
if (2 * i * b - i * e < 1e-15)
{
break;
}
e = b;
}
printf("pai = %.15lf\n", 2 * i * b);
printf("The number of edges: %ld\n", i);
return 0;
}
运行结果如下:
pai = 3.141592653589793
The number of edges: 100663296