Цель
Учитывая неотрицательное целое число, создайте функцию, которая возвращает начальную позицию числа самых больших последовательных 1 в двоичном значении этого целого числа.
Когда дан вход 0, вернитесь 0.
Если число имеет несколько полос одинаковой длины, вы должны вернуть позицию последней полосы.
вход
Целое число больше или равно 0.
Выход
Целое число, рассчитанное, как описано ниже.
правила
- Это код-гольф, поэтому выигрывает самый короткий код в байтах на каждом языке.
- Стандартные лазейки запрещены.
Примеры и тестовые случаи
Пример 1
- Вашей функции передано целое число 142
- 142 равно 10001110 в двоичном
- Самая длинная полоса - "111" (полоса из трех)
- Полоса начинается с позиции 2 ^ 1
- Ваша функция возвращает 1 как результат
Пример 2
- Вашей функции передано целое число 48
- 48 равно 110000 в двоичном
- Самая длинная полоса - "11" (полоса из двух)
- Полоса начинается с позиции 2 ^ 4
- Ваша функция возвращает 4 в результате
Пример 3
- Вашей функции передано целое число 750
- 750 равно 1011101110 в двоичном
- Самая длинная полоса - "111" (полоса из трех)
- Поскольку есть две полосы одинаковой длины, мы возвращаем более позднюю полосу.
- Поздняя полоса начинается с позиции 2 ^ 5
- Ваша функция возвращает 5 как результат
0. Это важный контрольный пример.
