fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long a,b,c;
  4. long long nhan(long long a, long long b, long long c)
  5. {
  6. if(b==0ll) return 0ll;
  7. long long t = nhan(a,b/2,c);
  8. if(b%2==0)
  9. {
  10. return (t+t)%c;
  11. }
  12. else
  13. {
  14. return ((t+t)%c + a%c)%c;
  15. }
  16. }
  17. long long mu (long long a, long long b, long long c)
  18. {
  19. if(b==0) return 1ll;
  20. long long t= mu(a,b/2,c);
  21. if(b%2==0)
  22. {
  23. return nhan(t,t,c);
  24. }
  25. else
  26. {
  27. return nhan(nhan(t,t,c),a,c);
  28. }
  29. }
  30. int main()
  31. {
  32. ios_base::sync_with_stdio(0);
  33. cin.tie(0);
  34. cin >> a >> b >> c;
  35. cout << mu(a,b,c);
  36. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
1