Задание №6100. Пусть R – сумма всех различных натуральных делителей целого числа. Напишите программу, которая перебирает целые числа, бо́льшие 500 000, в порядке возрастания и ищет среди них такие, для которых значение R оканчивается на цифру 6. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – пять соответствующих этим числам значений R. Например, для числа 20 R = 1 + 2 + 4 + 5 + 10 + 20 = 42. Количество строк в таблице для ответа избыточно.


Задание №6100.
Создание собственной программы. ЕГЭ по информатике

Пусть R – сумма всех различных натуральных делителей целого числа.

Напишите программу, которая перебирает целые числа, бо́льшие 500 000, в порядке возрастания и ищет среди них такие, для которых значение R оканчивается на цифру 6. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце – пять соответствующих этим числам значений R.

Например, для числа 20 R = 1 + 2 + 4 + 5 + 10 + 20 = 42.
Количество строк в таблице для ответа избыточно.

Пояснение:
Решим задание, написав программу на языке программирования Python.

def sum_of_divisors(n):
    total = 0
    # Ищем делители от 1 до sqrt(n)
    for i in range(1, int(n**0.5) + 1):
        if n % i == 0:
            total += i
            if i != n // i: # Если делитель не равен парному делителю
                total += n // i
    return total

def find_numbers_with_R_ending_in_6(start, count):
    results = []
    number = start
    
    while len(results) < count:
        R = sum_of_divisors(number)
        if R % 10 == 6: # Проверяем, оканчивается ли R на 6
            results.append((number, R))
        number += 1
    
    return results

# Начинаем с числа 500001 и ищем 5 чисел
results = find_numbers_with_R_ending_in_6(500001, 5)

# Выводим результаты в виде таблицы
print(f"{'Number':<15} {'Sum of Divisors (R)':<25}")
print("-" * 40)
for num, R in results:
    print(f"{num:<15} {R:<25}")

Таким образом, получаем

Найденные
числа

R

5000321070356
500035606816
500039501456
500050949716
5000521333696


Показать ответ

Источник: Открытый вариант — 2025
Сообщить об ошибке


Тест с похожими заданиями