GESP C++ 真题 · 逐题精解
首页C++八级真题 › 2023年12月 › 第10题

GESP 2023年12月 C++八级 单选题 第10题

C++八级单选题2023年12月第10题

所属知识点:倍增的概念与复杂度 难度要求:掌握 考频:中频

下面程序的时间复杂度为:
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;
}

正确答案:C

题目解析

这是快速幂(倍增思想)。每次把指数 n 折半,T(n)=T(n/2)+O(1………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习