
Вопрос задан 28.04.2018 в 05:39.
Предмет Информатика.
Спрашивает Левина Катерина.
Построим последовательность {An} из натуральных чисел, в которой значение а(n) является количеством
чисел, меньших n, имеющих большее количество делителей, чем n. Например, элемент a(5) = 1,элемент a(100) = 7, а элемент а(1000) = 49. Сумма первых 1234 элементов данной последовательности составит …

Ответы на вопрос

Отвечает Соловьёва Елена.
Для каждого числа подсчитаем в цикле количество его делителей, а затем в другом цикле посчитаем количество чисел, меньших текущего, у которых больше делителей
# 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


Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili