Для каждого числа подсчитаем в цикле количество его делителей, а затем в другом цикле посчитаем количество чисел, меньших текущего, у которых больше делителей
# python 3 from functools import lru_cache
@lru_cache(maxsize=None) def number_of_divisors(m): counter = 0 for i in range(1, m + 1): if m % i == 0: counter += 1 return counter
counter = 0 for m in range(2, 1234 + 1): for k in range(1, m - 1): if number_of_divisors(k) > number_of_divisors(m): counter += 1 print(counter) ответ: 281184
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку