当前位置: 首页 > 面试题库 >

OverflowError:(34,“结果太大”)

杨鸿畅
2023-03-14
问题内容

我收到溢出错误(OverflowError:(34,“结果太大”))
我想将pi计算为100个小数,这是我的代码

def pi(): 
    pi = 0 
    for k in range(350): 
        pi += (4./(8.*k+1.) - 2./(8.*k+4.) - 1./(8.*k+5.) - 1./(8.*k+6.)) / 16.**k 
    return pi 
print(pi())

问题答案:

Python浮点数既不精确,也不具有无限大小。当k = 349时,16.**k太大了-几乎是2 ^
1400。幸运的是,该decimal库允许任意精度并可以处理大小:

import decimal
decimal.getcontext().prec = 100
def pi():
    pi = decimal.Decimal(0)
    for k in range(350):
        pi += (decimal.Decimal(4)/(decimal.Decimal(8)*decimal.Decimal(k+1))...)


 类似资料:
  • 问题内容: 我们从Elasticsearch 2.1检索信息,并允许用户翻阅结果。当用户请求较高的页码时,我们会收到以下错误消息: 结果窗口太大,从+大小必须小于或等于:[10000],但为[10020]。请参阅滚动API,以获取请求大型数据集的更有效方法。可以通过更改[index.max_result_window]索引级别参数来设置此限制 弹性文档表示,这是因为内存消耗很高,并且要使用滚动ap

  • 问题内容: 这怎么可能,我必须遵循标准 列表的大小现在为20。如果我将最大结果添加到条件中, ..现在列表的大小是18! 我不明白定义最大结果后结果集的大小如何减小,因为行数小于定义的最大数。这肯定看起来像是个错误,还是再次出现了我不知道的一些奇怪的hibernate状态? 如果您正在寻找该问题的答案,请确保阅读已接受的答案及其评论。 问题答案: 通过在Hibernate中打开SQL调试并比较生成

  • BOSSLiu吃了一惊,问:“昨天不是说得好好的吗?今天怎么又不来了?” “我考虑了一下,我刚让陈董帮忙把燕儿工作落实了,马上就走人,实在太不人道了,传出去肯定会被人笑。” “BOSS不对阿,这不是你的作风阿。你想就算陈董把你老婆弄到他公司去,充其量就千儿八百一个月,你自己还受制于人,你老婆还要受人鄙视。你现在直接跳槽过来,两边工资的差价早就弥补了你老婆工资上的损失。” “算了。特别是现在你走了,

  • 我正在使用neo4j 2.1.2社区版。我已经加载了具有2500行的CSV文件,并且我已经在列之间创建了节点和关系。当我运行下面的密码查询时 我将得到节点数为17275。因此,当我匹配节点时,如match(n)return n,并尝试在neo4j浏览器中获得相应的图形,它说 我知道这是因为请求的节点超过1000个。因此,如果我想在neo4j浏览器中查看完整的图形,我该如何做呢? 与我在neo4j

  • 1. 定义 慕课解释:SQL预处理(Prepare),是一种特殊的 SQL 处理方式;预处理不会直接执行 SQL 语句,而是先将 SQL 语句编译,生成执行计划,然后通过 Execute 命令携带 SQL 参数执行 SQL 语句。 2. 前言 本小节,我们将一起学习 SQL Prepare。 在生产环境中,我们会多次执行一条 SQL 语句,如果每次都处理该 SQL 语句,生成执行计划,必然会浪费一

  • 原文: http://exploringjs.com/impatient-js/ch_destructuring.html 34.1。第一次尝试解构 通过正常分配,您可以一次提取一个数据。例如,通过: x = arr[1]; 通过解构,您可以通过接收数据的位置中的模式同时提取多个数据。前一代码中=的左侧是一个这样的位置。在以下代码中,行 A 中的方括号是解构模式。它提取索引 0 和索引 1 处