求A^B的最后三位数表示的整数(1<=A,B<=10000)
剖析: 这个题目看起来有点难度,其实也不是很难,主要是找对方法 很多人一看到估计就会想到暴力法,难道是暴力中的暴力? 主要是最后三个数进行理解 一个三位数乘以某个数可能大于三位数,也可能不大于,如果大于 可以将它对1000取余,这样后面的数据就保证不会有错误
源码如下:
#include<stdio.h>
int main()
{
int a,b;
int sum;
while(1)
{
scanf("%d %d",&a,&b);
sum = 1;
while(b>0)
{
sum *= a;
if(sum>1000)
{
sum %= 1000;//大于三位数就不断的取余
}
b--;
}
printf("%d\n",sum);
}
}