【ZZULIOJ】1090: 整数幂(多实例测试)

it2026-03-06  2

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;//程序正常退出 }
最新回复(0)