a53

dinamica06

a53
Dec 11th, 2021 (edited)
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. #include <iostream>
  2. #define MOD 123457
  3. using namespace std;
  4.  
  5. int powlog(int a,int b)
  6. {
  7. if(b==0)
  8. return 1;
  9. int x=powlog(a,b/2);
  10. if(b%2==0)
  11. return (1ULL*x*x)%MOD;
  12. return (((1ULL*x*x)%MOD)*a)%MOD;
  13. }
  14.  
  15. void euclid(int a,int b,int &x,int &y)
  16. {
  17. if(b==0)
  18. x=1,y=1;
  19. else
  20. {
  21. int x1,y1;
  22. euclid(b,a%b,x1,y1);
  23. x=y1;
  24. y=x1-a/b*y1;
  25. }
  26. }
  27.  
  28. int main()
  29. {
  30. int n,x,y;
  31. cin>>n;
  32. euclid(2,MOD,x,y);
  33. cout<<((4ULL*powlog(3,n-1))%MOD*x)%MOD;
  34. return 0;
  35. }
Add Comment
Please, Sign In to add comment