Задача к ЕГЭ по информатике на тему «делители числа» №2

Найдите пять последних натуральных чисел, которые имеет ровно 64 делителя на отрезке [1010101; 101010101]. В ответе укажите подходящие числа в порядке возрастания через пробел.

def count_del(x):
    ans = [1, x]
    for i in range(2, int(x ** 0.5) + 1):
        if x % i == 0:
            ans += [i]
            if i != x // i:
                ans += [x // i]
        if len(ans) > 64:
            return False
    return len(ans) == 64
ans = []
for i in range(101010101, 1010100, -1):
    if count_del(i):
        ans += [i]
    if len(ans) == 5:
        print(*reversed(ans))
        break

Ответ: 101009928 101009937 101009958 101010024 101010090
Оцените статью
Я решу все!