Python 当用“**”代替“+”到斐波那契时
Python when substituting "**" instead of "+" into Fibonacci
我的代码卡在6561,无法继续。我试过打印 B,我试过用 while True 代替一个比打印数量更大的计数器。我也为原始值尝试了不同的数字,这有时会使情况变得更糟;例如。 "a, b = 9, 10" 只会打印 9 和 10。请问,如何取消粘贴?
更新:看来如果您 运行 此代码处于空闲状态,然后创建一个新的 python 文件,python 将停止响应。
这不是代码错误,而是生成数字大小的直接结果。
8 ** 6561
是一个5926位的数字。序列中的下一步是 6561 的 5926 次方。这就是它卡住的地方 - 计算量太大 Python 无法在合理的时间内处理。
Python 支持超出硬件支持的本机大小的任意大小的整数,并且实现需要内存来存储整数的数字。结果是您的程序将消耗越来越多的内存,直到产生答案,您的 system/process 运行 内存不足,或者您 运行 失去耐心。
你会发现它适用于乘法和加法,只是因为涉及的数字较小,因此需要更长的时间才能达到乘方产生的巨大规模。
我的代码卡在6561,无法继续。我试过打印 B,我试过用 while True 代替一个比打印数量更大的计数器。我也为原始值尝试了不同的数字,这有时会使情况变得更糟;例如。 "a, b = 9, 10" 只会打印 9 和 10。请问,如何取消粘贴?
更新:看来如果您 运行 此代码处于空闲状态,然后创建一个新的 python 文件,python 将停止响应。
这不是代码错误,而是生成数字大小的直接结果。
8 ** 6561
是一个5926位的数字。序列中的下一步是 6561 的 5926 次方。这就是它卡住的地方 - 计算量太大 Python 无法在合理的时间内处理。
Python 支持超出硬件支持的本机大小的任意大小的整数,并且实现需要内存来存储整数的数字。结果是您的程序将消耗越来越多的内存,直到产生答案,您的 system/process 运行 内存不足,或者您 运行 失去耐心。
你会发现它适用于乘法和加法,只是因为涉及的数字较小,因此需要更长的时间才能达到乘方产生的巨大规模。