求π的近似值
程序员文章站
2022-07-07 19:57:38
...
PTA 求π的近似值
输入精度e,精确到最后一项的绝对值小于e。
1.用格雷戈里公式求π的近似值
π 4 = 1 − 1 3 + 1 5 − 1 7 + . . . \frac{\pi}{4}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+... 4π=1−31+51−71+...
输入格式:
输入在一行中给出精度e。
输出格式:
对每一组输入,在一行中输出π的近似值。
输入样例:
0.0001
输出样例:
pi = 3.141793
#include<stdio.h>
#include<math.h>
int main(){
double e, pi=0,it=1;
int flag=1,deno=1;
scanf("%lf",&e);
while(fabs(it)>e){
it=1.0*flag/deno;
pi+=it;
flag=-flag;
deno+=2;
}
pi*=4;
printf("pi = %lf",pi);
return 0;
}
2.用公式求π的近似值
π 2 6 = 1 + 1 2 2 + 1 3 2 + 1 4 2 + . . . \frac{\pi^{2}}{6}=1+\frac{1}{2^{2}}+\frac{1}{3^{2}}+\frac{1}{4^{2}}+... 6π2=1+221+321+421+...
#include <stdio.h>
#include <math.h>
int main()
{
int i = 1;
double pi = 0, e, d = 1.0;
scanf("%lf", &e);
while (d >= e){
d = 1.0 / i / i;
pi += d;
i++;
}
pi = sqrt(pi * 6);
printf("%lf", pi);
return 0;
}
上一篇: 原型模式
下一篇: python调用shell的几种姿势