zh.& 2023-04-09 23:23 采纳率: 57.1%
浏览 18
已结题

求累加和的项数python

问题如下:利用公式求n的近似值,直
到最后一项的绝对值小于
10-6为止,并统计出项数
π/4 = 1-1/3+1/5...
主要是怎么求项数

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-04-09 23:27
    关注

    之前看错了,以为你问的是C++,以下是Python的实现

    def approx_pi(n):
        sum = 0
        i = 1
        while True:
            item = (-1)**(i+1) / (2*i-1)
            sum += item
            i += 1
            if abs(item) < 10**-6 or i > n:
                break
        return 4*sum, i
    
    approx, count = approx_pi(1000000)
    print("近似值:", approx)
    print("项数:", count)
    
    

    以下是原来的回答

    加上一个循环变量i
    while循环每次+1即可

    #include<iostream>
    #include<cmath>
    
    int main()
    {
        double n=1,pi=0,item=1;
        int i=0;
        while(fabs(item)>=1e-6)
        {
            pi+=item;
            i++;
            n+=2;
            item=-item/n;
        }
        pi*=4;
        std::cout<<"π的近似值为:"<<pi<<std::endl;
        std::cout<<"共进行了"<<i<<"次计算"<<std::endl;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月17日
  • 已采纳回答 4月9日
  • 创建了问题 4月9日

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持