2301_80701720 2023-10-27 14:56 采纳率: 0%
浏览 7

用级数运算求圆周率π

π=2(2/√2)2/(√(2+√2))*……的公式求圆周率pi,运算到乘法项小于1+1e-10(即1.0000000001)为止,以printf("%-3d:item=%-15.10lf,pi=%-15.10lf\n",k,item,pi)输出,k为迭代次数(首次迭代输出1),item为乘项(首个累乘项为2/sqrt(2)),pi为当前累乘值,如:第一行输出1:item=1.4142135624;pi=2.8284271247。用C语言代码编程

  • 写回答

1条回答

  • Lucky_Dog_c 2023-10-27 15:14
    关注
    #include <stdio.h>
    #include <math.h>
    
    int main() {
        double item = 2.0 / sqrt(2.0);
        double pi = 2.0 * item;
        int k = 1;
    
        printf("%-3d:item=%-15.10lf,pi=%-15.10lf\n", k, item, pi);
    
        while (item > 1.0000000001) {
            item = 2.0 / sqrt(2.0 + sqrt(2.0 + item));
            k++;
            pi *= item;
            printf("%-3d:item=%-15.10lf,pi=%-15.10lf\n", k, item, pi);
        }
    
        return 0;
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月27日