Целое положительное число N является K- разреженным, если между двумя любыми двумя последовательными единицами в его двоичном представлении есть по крайней мере K 0.
Итак, число 1010101 является 1-разреженным, а 101101 - нет.
Ваша задача - найти следующий 1-разреженный номер для заданного входного номера. Например, если входное значение равно 12 ( 0b1100
), выходное значение должно быть 16 ( 0b10000
), а если входное значение равно 18 ( 0b10010
), выходное значение должно быть 20 ( 0b10100
).
Наименьшая программа или функция (в байтах) побеждает! Стандартные лазейки запрещены.