题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2035
如果直接暴力,必然溢出,超时。。。
求一个数的最后三位只需 mod 1000,
于是(A^B) mod 1000 = (A mod 1000) ^ B % 1000 , AC....
#include <stdio.h>
int main(void)
{
int a, b, mul, i;
while (scanf("%d%d", &a, &b) != EOF && (a || b)) {
mul = 1;
a %= 1000;
for (i = 1; i <= b; i++) {
mul = mul * a % 1000;
}
printf("%d\n", mul);
}
return 0;
}