вдохновленный отсчет от бесконечности
Если задано неотрицательное целое число 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