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;
}
相关推荐
flashlight_hi21 分钟前
LeetCode 分类刷题:1901. 寻找峰值 II
python·算法·leetcode
qiuiuiu4132 小时前
CPrimer Plus第十六章C预处理器和C库总结2-qsort函数
java·c语言·算法
无限进步_2 小时前
C语言指针全面解析:从内存管理到高级应用
c语言·开发语言
wdfk_prog4 小时前
[Linux]学习笔记系列 -- lib/timerqueue.c Timer Queue Management 高精度定时器的有序数据结构
linux·c语言·数据结构·笔记·单片机·学习·安全
未知陨落4 小时前
LeetCode:95.编辑距离
算法·leetcode
高山有多高5 小时前
栈:“后进先出” 的艺术,撑起程序世界的底层骨架
c语言·开发语言·数据结构·c++·算法
greentea_20135 小时前
Codeforces Round 65 C. Round Table Knights(71)
c语言·开发语言·算法
小秋学嵌入式-不读研版5 小时前
C61-结构体数组
c语言·开发语言·数据结构·笔记·算法
Nix Lockhart7 小时前
《算法与数据结构》第七章[算法3]:图的最小生成树
c语言·数据结构·算法