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;
}
相关推荐
洛水水4 小时前
【力扣100题】53.最长回文子串
算法·leetcode·职场和发展
过期动态6 小时前
【LeetCode 热题 100】盛最多水的容器
java·数据结构·spring boot·算法·leetcode·spring cloud·职场和发展
凌波粒6 小时前
LeetCode--700.二叉搜索树中的搜索(二叉树)
算法·leetcode·职场和发展
洛水水6 小时前
【力扣100题】58.轮转数组
算法·leetcode
风筝在晴天搁浅6 小时前
阿里 LeetCode 876.链表的中间节点
算法·leetcode·链表
玖釉-6 小时前
二叉树展开为链表:从先序遍历到原地指针重排
c++·windows·算法·leetcode·链表
洛水水7 小时前
【力扣100题】52.最小路径和
算法·leetcode
圣保罗的大教堂7 小时前
leetcode 3043. 最长公共前缀的长度 中等
leetcode
bucenggaibian9 小时前
C语言程序设计作业题
c语言·程序设计·常量·解答·作业题
小糯米60110 小时前
C语言 自定义类型:结构体 与 联合体
c语言·开发语言·数据结构