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

题目描述

求A^B的最后三位数表示的整数(1<=A,B<=1000)

输入

第一行输入一个整数n,表示有n个测试实例,接着有n行,每行一个实例,给出两个正整数A,B

输出

针对每个测试实例,输出A^B的最后三位(没有前导0) ,单独占一行。

样例输入

2
2 3
12 6

样例输出

8
984

tips:1 刚开始直接使用pow()函数,由于没有考虑到溢出,导致errot

2 求某一个数的后三位,可以直接对该数对1000取余  类似求某一个数的个位,对该数进行10取余

3 大数取余运算,可以在每一次取余一次,然后用取余结果接着相乘取余

     8^3%7    8%7=1 1*8%7=1   1*8%7=1

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main(){
	int num,a,b,ret=1;
	scanf("%d",&num);
	for (int i = 0; i < num; i++)
	{
		ret = 1;
		scanf("%d%d",&a,&b);
		for (int j = 0; j < b; j++)
		{
			ret *= a;
			ret %= 1000;
		}
		printf("%d\n",ret);
	
		
	}
	
}

 

ZZULIOJ 1090: 整数幂(多实例测试)ZZULIOJ 1090: 整数幂(多实例测试) 马赛克| 发布了117 篇原创文章 · 获赞 58 · 访问量 4万+ 私信 关注
上一篇:PTA basic 1090 危险品装箱 (25 分) c++语言实现(g++)


下一篇:PAT-甲级-1090 Highest Price in Supply Chain (25 分)