下面程序的时间复杂度为:
long long power_mod(long long a, long long n, long long mod) {
if (n == 0)
return 1;
a = a % mod;
if (n == 1)
return a;
long long pw = power_mod(a, n / 2, mod);
long long pw2 = pw * pw % mod;
if (n % 2 == 0)
return pw2;
return pw2 * a % mod;
}
- A. O(n)
- B. O(aⁿ)
- C. O(log(n))
- D. O(log(n)×a)
正确答案:C