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;
}
相关推荐
炸膛坦客20 分钟前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
kakakahahahaha1 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
Navigator_Z2 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
lvwangshu3 小时前
登录日志 题解
数据结构·线段树·题解·技巧·性质题·思维好题·细节题
殷色玫瑰3 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
C++ 老炮儿的技术栈4 小时前
main函数之后的调用
c语言·c++·人工智能·qt·mfc·c
青山木5 小时前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划
小师兄吃牛肉5 小时前
C语言指针进阶全解析
java·c语言·算法
大侠归来7 小时前
C语言素数判断:从入门到进阶
java·c语言·算法
All for pursuit.8 小时前
【回溯-4】46.全排列
数据结构·c++·算法·leetcode