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;
}
相关推荐
元亓亓亓几秒前
LeetCode热题100--347. 前 K 个高频元素--中等
数据结构·算法·leetcode
CoderYanger6 分钟前
贪心算法:2.将数组和减半的最少操作次数
java·算法·leetcode·贪心算法·1024程序员节
Chen--Xing8 分钟前
LeetCode 49.字母异位词分组
c++·python·算法·leetcode·rust
长安er12 分钟前
LeetCode 235 & 236 最近公共祖先(LCA)解题总结
算法·leetcode·二叉树·递归·lca
im_AMBER15 分钟前
Leetcode 77 数组中的最大数对和 | 统计坏数对的数目
笔记·学习·算法·leetcode
CoderYanger30 分钟前
贪心算法:8.买卖股票的最佳时机
java·算法·leetcode·贪心算法·1024程序员节
李绍熹30 分钟前
C语言数组与指针示例
c语言·开发语言
杨福瑞35 分钟前
数据结构:队列
c语言·数据结构
Tisfy39 分钟前
LeetCode 3606.优惠券校验器:分类 + 排序
leetcode·题解·排序
Swift社区1 小时前
LeetCode 449 - 序列化和反序列化二叉搜索树
算法·leetcode·职场和发展