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;
}
相关推荐
Escalating_xu32 分钟前
【C 语言】操作符详解(下):逗号、下标、结构体、类型转换与表达式求值
c语言
晓蛋2 小时前
C语言条件编译精讲
c语言·条件编译·宏定义·代码移植·预处理程序
ggaofeng3 小时前
Ctrl+C结束进程是如何实现的
服务器·c语言·网络
水饺编程3 小时前
第1章:开发环境搭建,在 Windows 中安装 QEMU
c语言·汇编
沐晓时光4 小时前
C语言入门,深入理解指针(1)
c语言·开发语言
天l志5 小时前
DL/T 645—2007《多功能电能表通信协议》的跨平台 C 语言实现
c语言·电表·dlt645
0+1115 小时前
算法 --模拟
c++·算法·leetcode
Nil2087 小时前
leetcode 739每日温度
算法·leetcode·职场和发展
老王爱玩车7 小时前
工具函数——清空输入缓冲区
c语言·开发语言·学习
xqqxqxxq8 小时前
LeetCode Hot100 矩阵专题题解笔记
笔记·leetcode·矩阵