首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python上使用decimal计算Pi

在Python上使用decimal计算Pi
EN

Stack Overflow用户
提问于 2013-06-03 15:55:16
回答 1查看 877关注 0票数 6

我正在尝试使用Ramanujan的公式之一在Python上以任意精度计算π:http://en.wikipedia.org/wiki/Approximations_of_%CF%80#20th_century。它基本上需要大量的阶乘运算和高精度的浮点数除法。

到目前为止,我的代码如下:http://pastie.org/private/pa6ijmoowiwiw4xwiqmq

我在圆周率的第15位附近得到了错误( 3.1415926535897930,应该是3.1415926535897932 )。你能给出一些建议吗?为什么会发生这种情况?我使用的是decimal类型,文档上说它允许任意精度的浮点数和整数。

PS:这是一个家庭作业,所以我不能使用其他公式。PSS:我使用的是python 2.7

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-03 16:10:05

使用Decimal(2).sqrt()而不是Decimal(sqrt(2))

我检查了前1000个数字,它似乎工作得很好。顺便说一下,由于某些原因,您的代码输出1007位小数,而不是1000位。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16892257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档