我有一个问题,a^b mod m可以使用模幂计算,但我遇到的问题是我拥有的 b 值非常大,b > 2^63 - 1所以我们可以修改模幂代码吗
函数模块_pow(基数,指数,模数)
结果:= 1
而指数 > 0
如果(指数模 2 == 1):
结果 := (result * base) mod 模数
指数 := 指数 >> 1
基数 = (基数 * 基数) mod 模数
返回结果
容纳这么大的b
还是a^b mod m等于(a^(b mod m)) mod m?