натхненний відлік від нескінченності
Враховуючи невід'ємне ціле число N
, виведіть кількість повторень наступних кроків, необхідних для досягнення 0:
- Перетворити
N
у бінарний (4812390 -> 10010010110111001100110
) - Переверніть кожен біт (
10010010110111001100110 -> 01101101001000110011001
) - Обрізання провідних нулів (
01101101001000110011001 -> 1101101001000110011001
) - Перетворити назад у десятковий (
1101101001000110011001 -> 3576217
)
Правила
- Введення та вихід можуть бути у будь-якому однозначному, послідовному форматі
- Вхід буде знаходитись в натурному цілому діапазоні для вашої мови (якщо ваша мова підтримує довільно великі цілі числа, немає обмежень)
Випробування
0 -> 0
1 -> 1
42 -> 6
97 -> 3
170 -> 8
255 -> 1
682 -> 10
8675309 -> 11
4812390 -> 14
178956970 -> 28
2863311530 -> 32
Ця послідовність є A005811 в OEIS.
~(~a) == a