水题快速幂取模。
求后三位数只需对1000取模就OK。
#include <cstdio>
using namespace std;int quick_mod(int a,int b)
{
int ans=1;
while(b)
{
if(b&1)
{
ans=((ans%1000)*(a%1000))%1000;
b--;
}
b>>=1;
a=a*a%1000;
}
return ans;
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b))
{
if(a==0&&b==0) break;
printf("%d\n",quick_mod(a,b));
}
return 0;
}