← К задачам
Наибольший нечётный делитель больше порога
Наибольший нечётный делитель числа x — это то, что остаётся от x после удаления всех множителей 2. Например, у 40 = 2³·5 он равен 5, а у 12 = 2²·3 равен 3.
Напишите функцию numbers_with_odd_divisor_over(a, b, limit), которая проходит по всем целым x из отрезка [a, b] (a ≥ 1) и возвращает список пар [x, d], где d — наибольший нечётный делитель x, но только для тех x, у которых d > limit. Пары идут в порядке возрастания x.
Вход: целые a, b, limit (1 ≤ a; если a > b, список пуст).
Выход: список пар [число, наибольший_нечётный_делитель].
Примеры:
numbers_with_odd_divisor_over(1, 10, 3)→[[5, 5], [7, 7], [9, 9], [10, 5]].numbers_with_odd_divisor_over(1, 4, 3)→[].
def numbers_with_odd_divisor_over(a, b, limit):
# ваш код
pass
Для запуска тестов необходима авторизация.