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> //C++万能头文件
using namespace std;
int normalPower(int base, int power)//定义普通幂计算函数
{
int result = 1;//定义result并赋初值为1,来实现记录结果 for(int i=1;i<=power;i++) //利用循环计算a^b的值 {
result = result*base; //继续×底数 result = result%1000; }//对计算结果取余只要求后三位 return result%1000;//计算结果返回给result
}int main() {
int base, power,n;//定义底数base和指数power,以及次数n scanf("%d",&n);//键盘读入n的值 while (n--)//while循环来实现计算结果和输出 {
scanf("%d %d",&base,&power);//键盘输入base和power的值 printf("%d\n",normalPower(base, power)); //输出计算结果 }return 0;//程序正常退出 }