题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035
#include <stdio.h>
int mi(int n, int m)
{
return m?(m%2?(mi(n, m/2)*mi(n, m/2)*(n%1000))%1000:(mi(n,m/2)*mi(n,m/2))%1000):1;
}
int main(void)
{
int n, m;
while(scanf("%d%d", &n, &m), n+m)
printf("%d\n", mi(n, m));
return 0;
}
#include <stdio.h>
int main(void)
{
int a;
int b;
int i;
int sum;
while (scanf("%d%d", &a, &b), a || b)
{
sum = a;
for (i = 1 ; i < b ; i++)
sum = (sum * a) % 1000;
printf("%d\n", sum % 1000);
}
return 0;
}