>我需要计算((2**a)*(a))%1000000007
其中 a 是 10^10 的顺序。 据我所知,Python 可以处理小于 2^1400 的 int。 那么有什么办法可以计算出来呢? 或者有什么数学规则来解决它?
这变得非常简单,因为python的math.pow
有一个可选的模参数。
from math import pow
(pow(2, a, 1000000007)*a)%1000000007
这样你就不会对所有数字进行2**a
,而只是返回模数。