求A^B的最後三位數表示的整數。
說明:A^B的含義是“A的B次方” ##
A,B的範圍都是從1到10000,當輸入比較大時,3次方後結果更大,這樣就一定會超界的,用long long 也放不下,而題目中又只要求輸出最後三位數表示的數即可,所以可以在每次計算後都只保留最後三位數就可以了,只有這三個數是有效的,這樣就不會超界了,而且也保留了結果。
#include<stdio.h>
int main()
{
int a,b,i;
int t;
while (scanf ("%d%d",&a,&b)!=EOF&&a!=0||b!=0)
{
t=1;
for (i=0;i<b;i++)
{
t=((a%1000)*(t%1000))%1000;
}
printf ("%d\n",t);
}
return 0;
}