C语言 | Leetcode C语言题解之第372题超级次方

题目:

题解:

cpp 复制代码
//计算a的b次方
int mypow(int a, int b){
    a = a % 1337; // 防止a过大超出规模
    int ret = 1;
    for(int i = 0; i < b; i++){
        ret *= a;
        ret = ret % 1337; //防止超出规模
    }
    return ret;
}
//整体计算
int superPow(int a, int* b, int bSize){
    if(a == 1) return 1;
    int sum = 1;
    for(int i = 0; i < bSize; i++){
        //由例子可知(x的10次方的次数)为(bSize-1),所以写在最开始,使得多出来的一次(循环次数为bSize)为计算1的十次方
        sum = mypow(sum, 10); 
        sum *= mypow(a, b[i]);
        sum = sum % 1337; //防止超出规模
    }


    return sum;
}
相关推荐
CPUOS201020 小时前
嵌入式C语言高级编程之MVC设计模式
c语言·设计模式·mvc
jolimark20 小时前
C语言存在的问题及Zig语言如何改进,差异对比全在这
c语言·内存管理·系统编程·类型系统·zig语言
青梅橘子皮20 小时前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
_深海凉_21 小时前
LeetCode热题100-有效的括号
linux·算法·leetcode
零号全栈寒江独钓1 天前
基于c/c++实现linux/windows跨平台获取ntp网络时间戳
linux·c语言·c++·windows
爱编码的小八嘎1 天前
C语言完美演绎8-10
c语言
爱编码的小八嘎1 天前
C语言完美演绎8-4
c语言
@BangBang1 天前
leetcode (4): 连通域/岛屿问题
算法·leetcode·深度优先
Mr_pyx1 天前
【LeetCode Hot 100】 除自身以外数组的乘积(238题)多解法详解
算法·leetcode·职场和发展
故事和你911 天前
洛谷-数据结构-1-3-集合3
数据结构·c++·算法·leetcode·贪心算法·动态规划·图论