Ctrl K

Перемешать цифры до степени двойки

Средняя
Дано натуральное число number. Его цифры разрешается переставить в любом порядке (в том числе оставить как есть), но так, чтобы первая цифра не была нулём. Верните True, если какая-нибудь такая перестановка даёт степень двойки (1, 2, 4, 8, 16, …), и False иначе.
Пример 1
number=821 → True

Из цифр 8, 2, 1 можно составить 128 = 2⁷.

Пример 2
number=23 → True

Возможны только 23 и 32. Число 32 = 2⁵ подходит.

Пример 3
number=40 → False

Ноль не может стоять первым, поэтому остаётся только 40 — это не степень двойки.

Ограничения
  • 1 ≤ number ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПростые числа на лучах сетки СредняяБлизнецы с точностью до обмена СредняяЧисла-близнецы на два обмена СложнаяБольше трети голосов СредняяСамые частые значения Средняя
загружаем Python…
Вход
number=821
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 82 теста на сервере, включая скрытые.