The_Law

Untitled

Oct 26th, 2017
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.67 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4. #include <math.h>
  5.  
  6. #define int long long
  7.  
  8. unsigned int f(int x)
  9. {
  10.     int i = sqrt(x);
  11.     return x * i;
  12. }
  13.  
  14. unsigned g(unsigned x)
  15. {
  16.     int a = x;
  17.     int mod = (1LL << 32);
  18.  
  19.     while (1)
  20.     {
  21.         int l = 0, r = x + 2;
  22.  
  23.         while (r - l > 1)
  24.         {
  25.             int m = l + (r - l) / 2;
  26.  
  27.             if (f(m) <= x)
  28.                 l = m;
  29.             else
  30.                 r = m;
  31.         }
  32.  
  33.         if (f(l) == a)
  34.             return l % mod;
  35.  
  36.         a += mod;
  37.     }
  38. }
  39.  
  40. int32_t main(void)
  41. {
  42.     unsigned x;
  43.     scanf("%u", &x);
  44.  
  45.     printf("%u", g(x));
  46.  
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment