这道题目要用到数论的知识。
简单的说就是要计算只包含加法、减法和乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。
#include<iostream>
using namespace std;
int main(){
int a,b,tmp;
while(scanf("%d%d",&a,&b)!=EOF){
if(a==0&&b==0)
return 0;
tmp=1;
for(int i=1;i<=b;i++){
tmp=tmp*a%1000;//输出A^B最后三位表示的整数,即除1000取余
}
printf("%d\n",tmp%1000);//这里还要再取一次余
}
}