以免有人看不懂,
^ 是次方的意思. 6 ^ 2 = 6 的平方 = 36
% 是 modulus. 就是余数. 23 % 10 = 23 除 10 的余数 = 3
如果我的 A 和 B 数目都有可能很大, 甚至一个 long 都装不下,
例如:
A = 1111
B = 2222
C = 3333
那么 A ^ B = 1111 ^ 2222. 不能用平常的方法来算, 有什么办法解决?
我目前是用这个概念的:
(A ^ B) % C = (A^2 % C) ^ (B/2) % C
然后一直 recursion 到 B/2 = 1 为止.
有没有更好, 更快, 还是更容易的方法?





