当前位置: 首页 > news >正文

【时时三省】(C语言基础)循环程序举例

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

例题:

用公式4/π≈1-3/1+5/1-7/1+...求π的近似值,直到发现某一项的绝对值小于10的-6次方为止(该项不累加)。

解题思路:

这是求值的近似方法中的一种。求π值可以用不同的近似方法。如下面的表达式都可以用来求π的近似值:

 不同的方法求出的结果不完全相同(近似程度不同)。因此用计算机解题时,首先应当确定用哪一种方法来实现计算。专门有一门学科叫做“计算方法”,研究用什么方法最有效,近似程度最好,执行效率最高。对此有一些了解即可。

现在,题目已确定用什么公式也就是说,计算方法确定了,但是怎样去求出这个多项式的方法和步骤并未解决。例如,有的人按次序一项一项计算和加(减),有的人把符号为正的各项(即奇数项)相加,再把符号为负的各项(即偶数项)相加,最后再把两者相加得到结果。有的人用笨办法一项一项相加,有的人用循环来处理。计算机一般是不会自动选择采用哪种方法和哪些步骤的,要编程者来指定每一个执行步骤,计算机只是忠实地执行而已。这就是算法要解决的问题。

为解决一个问题,可以有多种算法,当然希望能设计出较好的算法。可以看出:π/4的值是由求一个多项式的值来得到的。这个多项式从理论上说包含无穷项。包含的项数愈多,近似程度就愈高。但是在实际运算时不可能加(减)到无穷项,只能在近似程度和效率之间找到一个平衡点。现在题目已明确,当多项式中的某一项的绝对值小于10的-6次方时,就认为足够近似了,可以据此计算出π的近似值了。

现在问题的关键是用什么方法能最简便地求出多项式的值。显然,谁也不会像小学生做算术题那样,用最原始的方法一项一项依次求出各项的值,然后把它们相加。这样做太笨,如果有几千几万项怎么办?应当设法利用计算机的特点,用一个循环来处理就能全部解决问题。经过仔细分析,发现多项式的各项是有规律的;

( 1 )每项的分子都是1。

( 2 )后一项的分母是前一项的分母加2。

( 3 )第1项的符号为正,从第2项起,

相关文章:

  • AI 场景落地:API 接口服务 VS 本地部署,哪种更适合?
  • 管家婆财贸ERP BB105.销售按结算单位价格跟踪
  • PySide与Qt工具链的深度整合
  • C语言里位操作的应用
  • 【Git】连接github时的疑难杂症(DNS解析失败)
  • 【LeetCode 热题 100】滑动窗口最大值 / 最小覆盖子串 / 轮转数组 / 缺失的第一个正数
  • 筛法求约数个数
  • Jira、PingCode、Redmine等18款缺陷管理工具对比评测
  • 数据加密技术:从对称加密到量子密码的原理与实战
  • C++[类和对象][3]
  • git 命令集
  • 设计模式-- 原型模式详解
  • mybatis-plus里的com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析
  • 【Linux网络】:套接字之UDP
  • 《免费开放”双刃剑:字节跳动Coze如何撬动AI生态霸权与暗涌危机?》
  • 交叉编译paho.mqtt.c和paho.mqtt.cpp(MQTT客户端)
  • 制作一款打飞机游戏25:添加数据
  • 芯岭技术XL32F003单片机 32位Cortex M0+ MCU简单介绍 性能优异
  • 【Harmony_Bug】forEach + asyncawait 的异步陷阱
  • node.js 实战——从0开始做一个餐厅预订(express+node+ejs+bootstrap)
  • “下山虎”张名扬一回合摘下“狮心”:你们再嘘一个给我听听
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • 安徽一交通事故责任认定引质疑:民警和司法鉴定人被处罚,已中止诉讼
  • 传染病防治法修订草案:拟加强医疗机构疾病预防控制能力建设
  • 上海车展的“老头乐”,又升级了
  • 泽连斯基提议乌俄“立即、全面和无条件”停火