题目描述
求A^B的最后三位数表示的整数(1<=A,B<=1000)
输入
n个测试实例,每个实例给出两个正整数A,B
输出
输出A^B的最后三位(没有前导0)
样例输入
2
2 3
12 6
样例输出
8
984
#include <stdio.h>
int main()
{
int n,a,b,res=1; //n组数据 a是底数 b是指数.
scanf("%d",&n);
while (n--)
{
scanf("%d %d",&a,&b);
for(int i=1;i<=b;i++)
{
res*=a;
res=res%1000; //对本程序而言,只有结果的最后三位有意义.而且为了防止溢出,每次结果都只取最后三位
}
printf("%d\n",res);
res=1; //恢复到初始值,以便进行下次运算
}
return 0;
}
巧用for循环避免用pow。