G.cpp 326 B

12345678910111213141516171819202122
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int M=1000;
  4. int f(int a,int b) {
  5. a%=M;
  6. if(a==1||b==0)
  7. return 1;
  8. if(b%2==0) {
  9. return f(a*a%M,b/2);
  10. } else {
  11. return (a*f(a*a%M,b/2))%M;
  12. }
  13. }
  14. int main() {
  15. int a,b;
  16. while(cin>>a>>b) {
  17. cout<<setw(3)<<setfill('0')<<f(a,b)<<endl;
  18. }
  19. return 0;
  20. }