c语言实现
时间: 2023-07-13 08:18:56 浏览: 55
好的,下面是 C 语言实现快速幂算法求解整数求幂再取模问题的代码:
```c
#include <stdio.h>
// 快速幂算法求解 a^n mod m
int mod_pow(int a, int n, int m) {
int res = 1;
while (n > 0) {
if (n & 1 == 1) {
res = (res * a) % m;
}
a = (a * a) % m;
n >>= 1;
}
return res;
}
int main() {
int a = 4;
int n = 5;
int m = 7;
int ans = mod_pow(a, n, m);
printf("%d\n", ans); // 输出 2
return 0;
}
```
在该代码中,我们先定义了一个名为 `mod_pow` 的函数,用于求解整数求幂再取模问题。函数接受三个参数:底数 `a`、指数 `n` 和模数 `m`。在函数中,我们使用了快速幂算法来计算 a^n mod m 的值,并最终返回结果。
在 `main` 函数中,我们定义了 a、n 和 m 的值,并调用 `mod_pow` 函数来计算结果。最后将结果输出即可。
阅读全文