题目描述
求A^B的最后三位数表示的整数(1<=A,B<=1000)
输入
n个测试实例,每个实例给出两个正整数A,B
输出
输出A^B的最后三位(没有前导0)
样例输入 Copy
2 2 3 12 6
样例输出 Copy
8 984
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
scanf ("%d",&n);
int a,b;
int s=1;
int i=1,ii=1;
while(i<=n)
{
scanf ("%d %d",&a,&b);
while(ii<=b)//用来算a的b次方
{
s=s*a;
ii++;
s=s%1000;//在这里取余1000,就算s的值小于一千,也不影响最终答案
//直接取余的话,之后再乘于a也不影响最终答案,因为本来就是后三位的运算
}
i++;
ii=1;//防止影响第二次运算
printf ("%d\n",s);
s=1;//防止影响第二次运算
}
return 0;
}