http://en.wikipedia.org/wiki/Modular_exponentiation#Right-to-left_binary_method
模幂运算中从右到左方法的时间复杂度是多少?
是O(1)因为我们正在经历e的二进制表示,它是恒定时间吗?
int mod(int b, int e, int m) {
b = b % m;
int result = 1;
while (e) {
if (e % 2 == 1) {
result = (result * b) % m;
}
b = (b * b) % m;
e >>= 1;
}
return result;
}