Задание №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 |
500032 | 1070356 |
500035 | 606816 |
500039 | 501456 |
500050 | 949716 |
500052 | 1333696 |
Показать ответ
500032 500035 500039 500050 500052 1070356 606816 501456 949716 1333696
Источник: Открытый вариант — 2025
Сообщить об ошибке
Тест с похожими заданиями