Advertisement
Guest User

Untitled

a guest
Jul 21st, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. bool isEqual(ld a, ld b) {
  2.     return abs(a - b) < 1e-8;
  3. }
  4.  
  5. bool isFullSqr(ld x) {
  6.     ld sx = round(sqrt(x));
  7.     return isEqual(sx * sx, x);
  8. }
  9.  
  10. void solve()
  11. {
  12.     ll n;
  13.     cin>>n;
  14.     ld l = n, r = n;
  15.     ld ans;
  16.     while(true) {
  17.         if (isFullSqr(l)) {
  18.             ans = l;
  19.             break;
  20.         }
  21.         ld sl = floor(sqrt((long double)l));
  22.         ld sr = floor(sqrt((long double)r));
  23.         if (!isEqual(sl, sr)) {
  24.             ans = (sl+1) * (sl+1);
  25.             break;
  26.         }
  27.         l = l * 10;
  28.         r = r * 10 + 9;
  29.     }
  30.     cout.precision(0);
  31.     cout<<fixed<<ans<<endl;
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement