Advertisement
Guest User

Untitled

a guest
May 13th, 2020
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. long long beautifulNumber(long long n)
  2. {
  3.     string s = "";
  4.     long long t = n;
  5.     while (t)
  6.     {
  7.         s += (t % 3 + '0');
  8.         t /= 3;
  9.     }
  10.     if (count(begin(s), end(s), '2') == 0)
  11.         return n;
  12.     int len = s.size(), i, j;
  13.     int index = s.find_last_of('2');
  14.     for(i = 0;i< index;i++)
  15.         s[i] = '0';
  16.     int add = 0;
  17.     for (i = index; i < len; i++)
  18.     {
  19.         s[i] += add;
  20.         if (s[i] == '2')
  21.         {
  22.             s[i] = '0';
  23.             add = 1;
  24.         }
  25.         else
  26.         {
  27.             add = 0;
  28.             break;
  29.         }
  30.     }
  31.     if (add)
  32.         s += '1';
  33.     reverse(begin(s),end(s));
  34.     return stoll(s, nullptr, 3);
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement