题目描述
求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。