使用割圆术计算圆周率

理论基础

圆周长计算公式:

C = pi * d (C是圆的周长,pi是圆周率,d是直径)

推导可得

pi = C/d

所以我们只需要测量一定直径对应的周长即可算出圆周率。

思考过程:

根据上图可知“当正多边形的边数越多”,多边形就越来越接近标准圆,所计算出来的pi就越精确,我们的思路就是不断的增加边数,不断的提高计算精度,为什么我们不直接使用较大边数的图形直接计算呢?因为边长不好测算,需要根据前一代的多边形根据下面的公式推算得出:

其中 n是上一代的多边形边长,m是下一代的多边形边长,代与代之间是 2倍边数关系,比如 6边形,下一代就是 12边形。
周长的计算就是边长*边数
最后就是通过写程序不断循环 计算最新的圆周率了

注:需要用到的新的知识点:
计算 a的b次方

#include <cmath>
int r = pow(a,b);

代码清单:

#include <iostream>
#include <cmath>
#include <cstdio> using namespace std; int main()
{ double s = 1, pi;               // 初始值和条件int sides = 6;        while(sides < 40000)            // 循环停止条件{ s = sqrt(2-sqrt(4-s*s));    // 计算最新的 边长sides = sides * 2;          // 新的边数pi = s*sides/2;             // 圆周率计算printf("%.9lf\n", pi);      // 输出每一次的结果,保留到了小数点后9位} return 0;
}

使用割圆术计算圆周率相关推荐

  1. 割圆术c语言程序设计,c语言实现割圆术计算圆周率.pdf

    割圆术计算圆周率 "割圆术"是我国数学家刘徽创立的一种求圆周率的方法.思想是当圆的内 接正多边形的边数无限大时内接正多边形的面积就无限趋近于圆的面积,即所 谓 "割之弥细 ...

  2. 高等数学Mathematica实验题——2.1 - 15 用割圆术计算圆周率 (Calcaluation of π with cyclotomic method )

    题目: 2.1-15. 用割圆术计算圆周率(题干描述详见教材) an=Sqrt[2-2Sqrt[1-(an-1/2)^2]] Sn=3*2^(n-1)*Sn

  3. 【Java】如何实现用割圆术求圆周率π

    割圆术由我国古代数学家刘徽首创,其为计算圆周率建立了严密的理论和完善的算法,所谓割圆术,就是不断倍增圆内接正多边形的边数求出圆周率的方法. 刘徽指出:"割之弥细,所失弥少,割之又割,以至于不 ...

  4. 我国魏晋时期割圆法现在用计算机mn,割圆术

    3世纪中期,魏晋时期的数学家刘徽首创割圆术,为计算圆周率建立了严密的理论和完善的算法,所谓割圆术,就是不断倍增圆内接正多边形的边数求出圆周率的方法. 中文名 外文名 cyclotomic method ...

  5. 求圆周率算法(割圆术)c语言实现

    1.算法设计原理分析 利用周长为1的圆的周长为2Π,采用割圆术,从开始的正六边形(周长为6),循环切割求正12边形.正24边形--的边长(勾股定理),从而求出正多边形的周长,来近似求解出2Π的值. 整 ...

  6. 蒲丰投针结果_只能用纸笔才能计算圆周率?蒲丰告诉你,投针游戏也可以

    自从很久以前人们发现了存在圆周率π这个神奇的数字之后,便费尽一切心力来计算这个值.在那个数学工具比较匮乏的时代,人们能够做的就是根据圆周率的定义来计算.历史上,东西方几乎在同时发现了割圆术,虽然细节上 ...

  7. 鬼才!用Python计算圆周率 π

    目录 一.圆周率的历史发展 1.中国 2.印度 3.欧洲 二.用python计算圆周率 A货:什么!你不会背圆周率(鄙夷的眼神) 3.1415926535 8979323846 26433... 桥哥 ...

  8. 刘徽割圆法转化成matlab,刘徽割圆术动画演示

    在高中数学极限的概念教学或选修课<数学史选讲>中,一般都会讲到我国古代数学家刘徽的"割圆术",其体现了朴素的极限思想.在教学中我们若用几何画板动态演示圆的分割过程,随着 ...

  9. 割圆术c语言程序设计,组图:千古绝技 中国古代数学家的割圆术

    ]"圜,一中同长也".意思是说:圆只有一个中心,圆周上每一点到中心的距离相等.早在我国先秦时期,<墨经>上就已经给出了圆的这个定义,而公元前11世纪,我国西周时期数学家 ...

最新文章

  1. 0x000000f怎么修复 win10_win10无法启动也能进安全模式?用这个方法就OK
  2. Opportunity retrieval in SalesPipeline
  3. ejb java_EJB继承与Java继承不同
  4. BZOJ2425:[HAOI2010]计数——题解
  5. 代码生成工具之数据库表及字段名称转义
  6. Spring Boot + Oracle 处理Blob/Clob类型字段实例
  7. Spring Boot整合Swagger3注解@ApiImplicitParam的allowMultiple属性
  8. 可重构麦轮全向移动机器人分析(图片版)
  9. Matlab使用for循环将多个行向量合成一个行向量或者一个多维矩阵
  10. nlp gpt论文_开放AI革命性的新NLP模型GPT-3
  11. 读《财务就是IT 企业财务信息系统》
  12. android手机无法root成功,安卓手机不能ROOT怎么办
  13. 如何将根证书预置到chromium浏览器中
  14. 宜搭自建费控应用如何与金蝶云星空对接打通
  15. win7+opencv+V2015环境搭建
  16. 在HTML中显示base64格式的img图片
  17. JavaEE知识点总结详细版(一)计算机是如何进行工作的
  18. 三位一体自我陈述计算机专业,三位一体自我陈述报告
  19. cad 打开硬件加速卡_谁说没有核显就不能开启硬件加速?手把手教你开启加速
  20. Spark读HBASE - shc方案

热门文章

  1. Elasticsearch 7.8.1 创建索引,IK分词器的使用
  2. 2021年一级注册消防工程师的教材出了吗?
  3. android手机可以换字体吗,安卓手机字体怎么改?安卓手机爱字体换字体教程
  4. 仿QQ登录、记住密码等功能实现
  5. linux 装Broadcom原生网卡
  6. mysql创建桌面快捷方式
  7. gbk和utf-8、unicode详解
  8. matlab imfill 大小,Python相当于Matlab函数’imfill’的灰度?
  9. 基于STM32的农业灾害监测系统设计
  10. windows服务启动路径修改方法