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;
}
相关推荐
Navigator_Z5 小时前
LeetCode //C - 1289. Minimum Falling Path Sum II
c语言·算法·leetcode
himobrinehacken6 小时前
取模运算的汇编奥秘揭秘
c语言·安全
mmmmath_36 小时前
LeetCode.104.二叉树的最大深度
数据结构·leetcode
青岚_Nox9 小时前
C语言实战:带你手写一个带"计时功能"的猜数字小游戏
c语言
Tisfy10 小时前
LeetCode 2333.最小差值平方和:排序 + 数学计算(不用二分)
数学·算法·leetcode·题解·贪心·排序
aqiu11111110 小时前
【C++算法打怪专栏】LeetCode 217. 存在重复元素(解法总结)
c++·算法·leetcode
iotxiaohu11 小时前
用 cflow 查看 C 函数调用关系
c语言·开发语言·cflow
yi01112 小时前
DAY28: LeetCode 111. 二叉树的最小深度
人工智能·笔记·python·算法·leetcode·二叉树·递归
局部有解13 小时前
Leetcode Hot100 - 最长连续序列
算法·leetcode·职场和发展
iCxhust13 小时前
51单片机电力载波应用开发(九)51产品化
c语言·数据库·嵌入式硬件·mysql·51单片机·软件工程·c51