Site icon Информатика Эксперт

Е25.30 Напишите программу, которая перебирает целые числа, большие 800 000

Пусть M — сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то значение M считается равным нулю.

Напишите программу, которая перебирает целые числа, большие 800 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 4. В ответе запишите в первом столбце таблицы первые пять найденных чисел в порядке возрастания, а во втором столбце — соответствующие им значения M.

Например, для числа 20 M = 2 + 10 = 12.

Количество строк в таблице для ответа избыточно.

ЕГЭ по информатике Основная волна 07.06.2024 kompege.ru – задание №25

 

Решение:

Ответ:
800004 400004
800009 114294
800013 266674
800024 400014
800033 61554

Объяснение кода:

  1. Определение функции m(x):

    Функция m(x) находит сумму минимального и максимального делителей числа x (кроме 1 и самого числа):
    • Перебираем делители i от 2 до квадратного корня из x.
    • Если x делится на i без остатка, возвращаем сумму i и x // i.
    • Если делителей не найдено, возвращаем 0.
  2. Перебор чисел и поиск подходящих значений:

    Перебираем числа от 800 001 до 999 999 и ищем такие, для которых значение m(i) оканчивается на 4:
    • Если m(i) % 10 == 4, выводим число i и значение m(i), увеличиваем счетчик k.
    • Если найдено 5 таких чисел (k == 5), прекращаем цикл.

Итог:

Этот код решает задачу нахождения первых пяти чисел, больших 800 000, для которых сумма минимального и максимального делителей (кроме 1 и самого числа) оканчивается на 4. Функция m находит соответствующую сумму делителей, а основной цикл перебирает числа и выводит результаты.

Exit mobile version