Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- long long beautifulNumber(long long n)
- {
- string s = "";
- long long t = n;
- while (t)
- {
- s += (t % 3 + '0');
- t /= 3;
- }
- if (count(begin(s), end(s), '2') == 0)
- return n;
- int len = s.size(), i, j;
- int index = s.find_last_of('2');
- for(i = 0;i< index;i++)
- s[i] = '0';
- int add = 0;
- for (i = index; i < len; i++)
- {
- s[i] += add;
- if (s[i] == '2')
- {
- s[i] = '0';
- add = 1;
- }
- else
- {
- add = 0;
- break;
- }
- }
- if (add)
- s += '1';
- reverse(begin(s),end(s));
- return stoll(s, nullptr, 3);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement