用“**”代替“+”代入Fibonacci时的Python

时间:2015-12-06 21:39:22

标签: python fibonacci

我的代码停留在6561,无法继续。我已经尝试过打印B,我尝试用True代替一个价值超过打印量的计数器。我也为原始值尝试了不同的数字,这有时会使情况变得更糟;例如。 “a,b = 9,10”只会打印9和10.问题,如何解开它?

the code

更新:看来如果你在空闲时运行这段代码,那么创建一个新的python文件,python停止响应。

1 个答案:

答案 0 :(得分:0)

这不是代码的错误,而是生成数字大小的直接后果。

[ { "id": 472, "name": "אבו גוש", "engName": "ABU GHOSH" }, { "id": 473, "name": "אבו סנאן", "engName": "ABU SINAN" }, { "id": 1342, "name": "אבו קורינאת (יישוב)", "engName": "ABU QUREINAT" }, ] 是一个5926位数字。序列中的下一步是将6561提升到 5926 数字的幂。这就是它被卡住的地方 - 计算对于Python来说太大了,无法在合理的时间内处理。

Python支持超出硬件支持的本机大小的任意大小的整数,并且实现需要内存来存储整数的数字。结果是你的程序将消耗越来越多的内存,直到产生答案,你的系统/进程耗尽内存,或者你没有耐心。

你会发现它的乘法和加法只是因为所涉及的数字较小,所以要达到由取幂产生的巨大尺寸需要更长的时间。