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;
}
相关推荐
为何创造硅基生物43 分钟前
C 语言 typedef 结构体私有化
c语言·开发语言·算法
潜创微科技2 小时前
IT68353:双DP 1.4 + HDMI 2.0 + USB‑C 三合一转 HDMI 2.0 单芯片KVM切换方案
c语言·开发语言
我命由我123452 小时前
C++ - 面向对象 - 析构函数
android·c语言·开发语言·c++·visualstudio·visual studio·android runtime
始三角龙4 小时前
LeetCode hoot 100 -- 缺失的第一个正整数
算法·leetcode·职场和发展
科芯创展5 小时前
XZ4086E,1.5A,22V,开关降压3节锂电充电芯片
c语言
战南诚6 小时前
力扣 之 198.打家劫舍
python·算法·leetcode
科芯创展6 小时前
XZ4058B/C,20V,外置MOS,8.4V/8.7V开关充电芯片
c语言·开发语言
学困昇6 小时前
Linux 动静态库制作与原理:从 .a、.so 到 ELF 加载一次讲透
linux·运维·服务器·c语言·开发语言·c++·人工智能
Byte Wizard7 小时前
C语言数据在内存中的存储
c语言·开发语言
我还记得那天7 小时前
函数的递归调用
c语言·开发语言·visualstudio