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;
}
相关推荐
CYRUS_STUDIO12 分钟前
LLVM 不止能编译!自定义 Pass + 定制 clang 实现函数名加密
c语言·c++·llvm
CYRUS_STUDIO26 分钟前
OLLVM 移植 LLVM 18 实战,轻松实现 C&C++ 代码混淆
c语言·c++·llvm
南山十一少40 分钟前
STM32CubeMX + HAL 库:基于 I²C 通信的 BMP280气压海拔测量
c语言·stm32·嵌入式硬件
小欣加油1 小时前
leetcode 912 排序数组(归并排序)
数据结构·c++·算法·leetcode·排序算法
data myth2 小时前
力扣1210. 穿过迷宫的最少移动次数 详解
算法·leetcode·职场和发展
lingran__3 小时前
C语言制作扫雷游戏(拓展版赋源码)
c语言·算法·游戏
序属秋秋秋3 小时前
《C++进阶之STL》【set/map 使用介绍】
开发语言·c++·笔记·leetcode·stl·set·map
Greedy Alg3 小时前
LeetCode 240. 搜索二维矩阵 II
算法·leetcode·职场和发展
77qqqiqi3 小时前
学习结构体
c语言·学习
墨染点香3 小时前
LeetCode 刷题【68. 文本左右对齐】
算法·leetcode·职场和发展