当前位置: 代码迷 >> 综合 >> 【ZZULIOJ】1090: 整数幂(多实例测试)
  详细解决方案

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

热度:8   发布时间:2024-03-07 07:59:22.0

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;//程序正常退出 }