exponentiation modulo code example
Example 1: binary exponentiation modulo m
long long binpow(long long a, long long b, long long m) {
a %= m;
long long res = 1;
while (b > 0) {
if (b & 1)
res = res * a % m;
a = a * a % m;
b >>= 1;
}
return res;
}
Example 2: java binary exponentiation
public static long powerRecursive(int base, int exponent){
if(exponent == 0) return 1;
return (exponent % 2 == 0) ?
powerRecursive(base, exponent / 2) * powerRecursive(base, exponent / 2)
: base * powerRecursive(base, (exponent - 1) / 2) *
powerRecursive(base, (exponent - 1) / 2);
}