人见人爱A^B
(请输出A^B的最后三位表示的整数)
添加链接描述
思路:类同1097题的做法
根据数据范围,此题肯定不能直接求出a^b,然后再求百位,这样必然超时。好在题目仅要求乘积的百位部分,因此,一次乘一个a,留下乘积的百位部分,继续跟a相乘。如此往复,直到完成b的连乘。
#include<stdio.h>
int main(){
int m,n;
while(~scanf("%d%d",&m,&n)&&(m||n)){
int sum=1;
while(n--){
sum*=m;
sum%=1000;
}
printf("%d\n",sum);
}
}