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

Пусть S – сумма шести наибольших различных натуральных делителей натурального числа N, не считая самого числа N. Если у числа N меньше шести таких делителей, то S считается равным нулю. Найдите пять наименьших натуральных чисел, превышающих 20000, для которых S положительна и кратна 25.

В ответе для каждого из найденных чисел в отдельной строке запишите само число, а затем соответствующее значение S.

Формат ввода ответа: число1 S1 число2 S2 число3 S3 и тд.

c = 0
for i in range(20001, 30000):
    ds = set()
    # Добавляем отдельно единицу в множество делителей
    ds.add(1)
    for d in range(2, int(i**0.5)+1):
        if i % d == 0:
            ds.add(d)
            ds.add(i//d)
    # Из множества делаем отсортированный список, чтобы можно было взять срез
    ds = sorted(ds)
    if len(ds) < 6:
        s = 0
    else:
        s = sum(ds[-6:])
    if s > 0 and s % 25 == 0:
        c += 1
        print(i, s)
    if c == 5:
        break

Ответ: 20056 19075 20106 23475 20188 20600 20196 29325 20250 28575
Оцените статью
Я решу все!