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;
}
相关推荐
旖-旎42 分钟前
分治(库存管理|||)(4)
c++·算法·leetcode·排序算法·快速选择算法
良木生香2 小时前
【C++初阶】:C++类和对象(下):构造函数promax & 类型转换 & static & 友元 & 内部类 & 匿名对象 & 超级优化
c语言·开发语言·c++
无巧不成书02182 小时前
C语言零基础速通指南 | 1小时从入门到跑通完整项目
c语言·开发语言·编程实战·c语言入门·零基础编程·c语言速通
Kk.08023 小时前
力扣 LCR 084.全排列||
算法·leetcode·职场和发展
旖-旎3 小时前
分治(快速选择算法)(3)
c++·算法·leetcode·排序算法·快速选择
_日拱一卒4 小时前
LeetCode:合并区间
算法·leetcode·职场和发展
jimy15 小时前
C语言函数指针
c语言·开发语言
眺望电子-ARM嵌入式6 小时前
RK3588 Type-C一线通,DP显示输出实战指南
c语言·开发语言
wangjialelele6 小时前
从磁盘查找理解 B 树 | B+树:原理、插入、分裂与性能分析
c语言·开发语言·数据结构·c++·b树
Tanecious.6 小时前
蓝桥杯备赛:Day1-P1101 单词方阵
c语言·c++·蓝桥杯