Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. #include <algorithm>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. long long mul(long long a, long long b, long long m) {
  7. if (b == 1)
  8. return a;
  9. if (b % 2 == 0) {
  10. long long t = mul(a, b / 2, m);
  11. return (2 * t) % m;
  12. }
  13. return (mul(a, b - 1, m) + a) % m;
  14. }
  15.  
  16. long long FastPow(long long a, long long b, long long m) {
  17. if (b == 0)
  18. return 1;
  19. if (b % 2 == 0) {
  20. long long t = FastPow(a, b / 2, m);
  21. return mul(t, t, m) % m;
  22. }
  23. return (mul(FastPow(a, b - 1, m), a, m)) % m;
  24. }
  25.  
  26. int main() {
  27. long int a, b, N = 1000000007;
  28. cin >> a >> b;
  29. long int ans = FastPow(a, b, N);
  30. cout << ans;
  31. return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement