題目描述
求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;
}