Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <math.h>
  4. using namespace std;
  5.  
  6. long long x,m,n;
  7.  
  8. long long power(long long a, long long n)
  9. {
  10. long long tmp1;
  11. if (n==0) return 1;
  12. long long tmp = power(a,n/2);
  13. tmp1 = tmp * tmp % m;
  14. if (n % 2 == 0) return tmp1;
  15. else return tmp1 * a % m;
  16. }
  17.  
  18. long long P(long long n)
  19. {
  20. if (n == 0) return 0;
  21. if (n % 2 == 0) return P(n-1) + power(x, n);
  22. long long t = P(n/2);
  23. return (t + power(x,(n+1)/2)*t%m)%m;
  24. }
  25.  
  26. int main()
  27. {
  28. cin >> x >> n >> m;
  29. cout << P(n);
  30. return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement