#include <stdio.h>
int main() {
int a, b, m = 1;
scanf("%d%d", &a, &b);
if (b == 0) {
printf("%d", m);
return 0;
}
for (int i = 1; i <= b; i++) {
m *= a;
}
printf("%d", m);
return 0;
}
这段代码的功能是计算 a 的 b 次方(a^b),并输出结果。它通过循环将 a 连续乘 b 次来实现。
- 当 b 为 0 时,代码直接输出 1,这是正确的数学定义(任何非零数的 0 次方为 1)。
- 当 b 为正整数时,循环从 1 到 b,每次将 m 乘以 a,最终得到 a^b。
需要注意的一个潜在问题是:如果 a 或 b 的值较大,计算结果可能会超出 int 类型的范围,导致溢出。另外,代码没有处理 b 为负数的情况,但题目可能只要求非负整数次幂。