3.3 计算圆周率(project)

第1关:割圆法

任务描述
本关任务:编写一个能计算割圆术的小程序。

相关知识
割圆术
国魏晋时期的数学家刘徽于公元263年撰写《九章算术注》,其中就有数学史上著名的“割圆术”。刘徽形容他的“割圆术”说:割之弥细,所失弥少,割之又割,以至于不可割,则与圆合体,而无所失矣。这包含了求极限的思想。通过求圆内接正多边形的周长来近似求圆的周长,并使正多边形的周长无限接近圆的周长,进而求得较为精确的圆周率。

# π=周长/(2*圆的半径)得到π的近似值。
# 半径为1的圆内接正6边形边长也是1
# 边长  side_length
# 半径  radius
# 圆周率 pi
# 三角形的高 height
import math
def cutting_circle(times):   # times为分割次数
    side_length = 1          # 初始边长
    edges = 6                # 初始边数
    for i in range(times):
        height = 1 - math.sqrt(1 - (side_length / 2) ** 2)
        side_length = math.sqrt(height ** 2 + (side_length / 2) ** 2)
        edges = edges * 2    # 每割一次,边数量加倍
        pi = side_length * edges / 2
    return edges, pi
if __name__ == '__main__':
    times = int(input())          # 割圆次数
    print('分割{}次,边数为{},圆周率
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ssaty.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值