求 A^B 的最后三位数表示的整数。
说明:A^B 的含义是“A 的B 次方”
输入数据包含多个测试实例,每个实例占一行,由两个正整数A 和B 组成 (1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理
输出量对于每个测试实例,请输出 A^B 的最后三位表示的整数,每个输出占一行。
样本输入2 3
12 6
6789 10000
0 0
8
984
1
#includeusing namespace std; //取模定理: (a*b)%1000 == ((a%1000) * (b%1000)) % 1000 用来防止溢出 int main(){ int a, b,temp, i; while(cin>>a>>b,a||b){ //输入 两个0 停止 temp = 1; for(i = 0; i < b; i++){ temp = ((a % 1000) * (temp % 1000)) % 1000; //防止溢出 同时取后三位 } printf("%dn", temp); } return 0; }



