#include <bits/stdc++.h> using namespace std; int fastpow(int a,int b,int k) { int ans=1; while(b) { if(b&1) ans=ans*a%k; a=a*a%k; b>>=1; } return ans; } int main() { int n,m; while(cin>>n>>m) { if(n==0 && m==0) break; cout<<fastpow(n,m,1000)<<endl; } return 0; }
快速幂+模运算
原文:https://www.cnblogs.com/benzikun/p/10480558.html