我正试图在python的字典中存储前1000个bernoulli数字。起初我只是按原样存储数字。所以我遇到了溢出错误。现在经过前面的回答后,我想到了使用十进制模块。
所以这是
-5218507479961513801890596392421261361036935624312258325065379143295948300812040703848766095836974598734762472300638625802884257082786883956679824964010841565051175167717451747328911935282639583972372470105587187736495055501208701522099921363239317373617854217050435670713936357978555246779460902210809009009539232173 / 2291190
第260号bernouli号码。我能够将所有以前的内容存储在字典中。
这是我写的示例代码。
from decimal import *
d = Decimal
getcontext().prec = 10000
di = {260: d(-5218507479961513801890596392421261361036935624312258325065379143295948300812040703848766095836974598734762472300638625802884257082786883956679824964010841565051175167717451747328911935282639583972372470105587187736495055501208701522099921363239317373617854217050435670713936357978555246779460902210809009009539232173 / 2291190)}
这是错误快照
有没有更好的方法来处理如此庞大的数字?请告诉我是否有一些事情可以存储这些数字。
答案 0 :(得分:0)
在进行除法之前,您应该将大数字转换为Decimal
,即:
(注意括号末尾)
di = {260: d(-5218507479961513801890596392421261361036935624312258325065379143295948300812040703848766095836974598734762472300638625802884257082786883956679824964010841565051175167717451747328911935282639583972372470105587187736495055501208701522099921363239317373617854217050435670713936357978555246779460902210809009009539232173) / 2291190}