如何确定更高数字的计算是否有效,如果它们正常工作,那么用Python完成执行需要很长时间。
例如,下面a = 10,它立即打印**,而第二次操作则没有错误输出或在REPL上打印任何内容。
>>> a = 10
>>> a = a ** a
>>> a
10000000000
>>> a = a ** a
答案 0 :(得分:2)
来自docs:
长整数具有无限精度
并且int
已自动更改为long
而不是some time溢出:
>>> a = 50
>>> type(a)
<type 'int'>
>>> a = a ** a
>>> type(a)
<type 'long'>
因此,只要有足够的可用内存,您的计算将始终返回值。
所花费的时间随着指数的log
而增加。有关详细信息,请参阅this answer。