ZZULIOJ题解
1090: 整数幂(多实例测试)
题目描述 求A^B的最后三位数表示的整数(1<=A,B<=1000)
输入 第一行输入一个整数n,表示有n个测试实例,接着有n行,每行一个实例,给出两个正整数A,B
输出 针对每个测试实例,输出A^B的最后三位(没有前导0) ,单独占一行。
样例输入
2
2 3
12 6
样例输出
8
984
本题考察多实例测试,利用函数运算,再考虑对数字的优化,感兴趣可以了解相关快速幂的知识。
代码
#include<bits/stdc++.h>
using namespace std
;
int normalPower(int base
, int power
)
{ int result
= 1;
for(int i
=1;i
<=power
;i
++)
{ result
= result
*base
;
result
= result
%1000; }
return result
%1000;
}
int main() {
int base
, power
,n
;
scanf("%d",&n
);
while (n
--)
{ scanf("%d %d",&base
,&power
);
printf("%d\n",normalPower(base
, power
));
}
return 0;
}