Найдите пять последних натуральных чисел, которые имеет ровно 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