Ctrl K

Простое число единиц

Лёгкая
Даны два целых числа low и high. Сколько чисел из отрезка от low до high включительно имеют в двоичной записи простое количество единиц? Например, 13 = 1101₂ — в записи три единицы, а 3 — простое, так что 13 подходит.
Пример 1
low=3, high=8 → 4

3 = 11₂ (2 единицы), 4 = 100₂ (1), 5 = 101₂ (2), 6 = 110₂ (2), 7 = 111₂ (3), 8 = 1000₂ (1). Простое число единиц у 3, 5, 6 и 7 — ответ 4.

Пример 2
low=16, high=16 → 0

16 = 10000₂ — одна единица, а 1 не простое.

Пример 3
low=1, high=31 → 21
Ограничения
  • 1 ≤ low ≤ high ≤ 10⁶
  • 0 ≤ high - low ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСумма двоичных строк ЛёгкаяРовно степень двойки ЛёгкаяПотерянный билет ЛёгкаяРовно степень четвёрки ЛёгкаяЗапись в шестнадцатеричной системе Лёгкая
загружаем Python…
Вход
low=3, high=8
Ожидается
4

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