天天看點

ZZULIOJ 1090: 整數幂(多執行個體測試,含注釋解釋)

題目描述

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

輸入

第一行輸入一個整數n,表示有n個測試執行個體,接着有n行,每行一個執行個體,給出兩個正整數A,B

輸出

針對每個測試執行個體,輸出A^B的最後三位(沒有前導0) ,單獨占一行。

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

int main()
{
	int n,a,b,res=1;	//n組資料 a是底數 b是指數.
	scanf("%d",&n);
	while (n--)
	{
		scanf("%d %d",&a,&b);
		
		for(int i=1;i<=b;i++)
		{
			res*=a;
		    res=res%1000;		//對本程式而言,隻有結果的最後三位有意義.而且為了防止溢出,每次結果都隻取最後三位
		}
		
		printf("%d\n",res);
		res=1;		//恢複到初始值,以便進行下次運算
	}
	return 0;
}