Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. unsigned long long binpow (unsigned long long a, unsigned long long n) {
  8.     if (n <= 0)
  9.         return 1;
  10.     if (n % 2 == 1)
  11.         return binpow (a, n-1) * a;
  12.     else {
  13.         unsigned long long b = binpow (a, n/2);
  14.         return b * b;
  15.     }
  16. }
  17.  
  18.  
  19. int check(unsigned long long m, unsigned long long k)
  20. {
  21.     if( k == 1) return 1;
  22.     int flag;
  23.     unsigned long long t,x,tr;
  24.     for( t = 1;t<m/2;t++)
  25.     {
  26.         for(x =2;x<m/2;x++)
  27.         {
  28.              tr = t*(x)*binpow(x+1,k-2);
  29.             if(tr > m)
  30.             {
  31.                 if(x == 2)
  32.                 {
  33.                     flag == 0;
  34.                 }
  35.                 break;
  36.             }
  37.             if(tr == m)
  38.             {
  39.                 return 1;
  40.             }
  41.             if(flag == 1)
  42.             {
  43.                 return 0;
  44.             }
  45.         }
  46.     }
  47.     return 0;
  48. }
  49.  
  50. int main()
  51. {
  52.     unsigned long long m;
  53.     cin  >> m;
  54.     int flag;
  55.     unsigned long long left = 0;
  56.     unsigned long long right = m;
  57.     unsigned long long mid;
  58.     while(left+1<right)
  59.     {
  60.         mid = (left + right)/2;
  61.         if(check(m,mid) == 1)
  62.         {
  63.             left = mid;
  64.             flag = 1;
  65.         }
  66.         else{
  67.             right = mid;
  68.             flag = 0;
  69.         }
  70.     }
  71.     if(flag == 1)
  72.     {
  73.         cout << mid;
  74.     }
  75.     else{
  76.         cout << mid -1;
  77.     }
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement