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

割圆术由我国古代数学家刘徽首创,其为计算圆周率建立了严密的理论和完善的算法,所谓割圆术,就是不断倍增圆内接正多边形的边数求出圆周率的方法。

刘徽指出:“割之弥细,所失弥少,割之又割,以至于不可割,则与圆合体,而无所失矣。”即通过圆内接正多边形细割圆,并使正多边形的周长无限接近圆的周长,进而求得较为精确的圆周率。

首先梳理一下基本思路,下图为割圆术示意图:

在这里插入图片描述
在这里插入图片描述

不妨设圆为单位圆,弦心距(如OC)为h; 第i次割圆时圆内接正多边形的边长为s(如AB),第i次割圆时圆内接正多边形的边长为s’(如AC),总边数为a,周长为c,根据勾股定理,易求得:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面我们通过Java来实现此过程:

在这里插入图片描述
最终效果如图:

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值