因为最后的都是后三位即可
所以每次求得时候只需求后三位即可!1
#include<iostream>
using namespace std;
#define ll long long
ll quickpow(ll x, ll n) {
ll res = 1;
while (n > 0) {
if (n & 1)res = (res * x)%1000;
x = x * x%1000;
n = (n >> 1);
}
return res;
}
int main() {
ll a,b;
for (; cin >> a>>b;) {
if (a >= 1 && a <= 10000 && b >= 1 && b <= 10000) {
ll h = (quickpow(a, b));
cout << h<<endl;
}
else if (a == 0 && b == 0) {
return 0;
}
}
return 0;
}