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;
}
相关推荐
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(四)
c语言·stm32·单片机
inrichtt8 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
wuminyu11 小时前
JMM学习总结:深入理解happens-before关系
java·linux·c语言·jvm·c++
Nil20811 小时前
leetcode 5最长回文子串
算法·leetcode·职场和发展
m0_6745719712 小时前
力扣 hot 100 python
python·算法·leetcode
圣保罗的大教堂13 小时前
leetcode 3727. 最大交替平方和 中等
leetcode
Zwawa13 小时前
让电机走到指定位置:编码器位置环 PID
c语言·单片机·嵌入式
Xin77013 小时前
LeetCode 200. 岛屿数量(DFS 深度优先遍历法)
leetcode
fensnote14 小时前
西门子 S7 PLC 内部寄存器读写 Demo(C 语言)
c语言·开发语言
Logic10117 小时前
C语言/数据结构位运算题解:异或XOR找出被挑选一次的果子编号——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度