Мета
Враховуючи невід'ємне ціле число, створіть функцію, яка повертає вихідну позицію числа найбільших послідовних 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. Це важливий тестовий випадок.
