欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求π的近似值

程序员文章站 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π=131+5171+...

输入格式:

输入在一行中给出精度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;
}
相关标签: c语言