Вопрос задан 28.04.2018 в 05:39. Предмет Информатика. Спрашивает Левина Катерина.

Построим последовательность {An} из натуральных чисел, в которой значение а(n) является количеством

чисел, меньших n, имеющих большее количество делителей, чем n. Например, элемент a(5) = 1,элемент a(100) = 7, а элемент а(1000) = 49. Сумма первых 1234 элементов данной последовательности составит …
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Соловьёва Елена.

Для каждого числа подсчитаем в цикле количество его делителей, а затем в другом цикле посчитаем количество чисел, меньших текущего, у которых больше делителей

# 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

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

Последние заданные вопросы в категории Информатика

Задать вопрос