СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Сайты, меню, вход, новости


Задания
Версия для печати и копирования в MS Word
Задание 25 № 27422

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [174457; 174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя в две соседних столбца на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке также должны следовать в порядке возрастания.

Например, в диапазоне [5; 9] ровно два различных натуральных делителя имеют числа 6 и 8, поэтому для этого диапазона вывод на экране должна содержать следующие значения:

2 3

2 4

Ответ:

Решение.

Решим задачу перебором. Будем проверять количество делителей каждого числа из диапазона, если их количество равно двум — записываем их в двумерный массив d.

 

Приведём решение на языке Pascal.

var

numDel, i, j: longint;

d: array[1..2] of longint;

begin

for i := 174457 to 174505 do begin

numDel := 0;

for j := 2 to i div 2 do begin

if i mod j = 0 then begin

numDel := numDel + 1;

if numDel > 2 then break;

d[numDel] := j;

end;

end;

if numDel = 2 then writeln(d[1], ' ', d[2]);

end;

end.

В результате работы программа должна вывести следующее:

3 58153

7 24923

59 2957

13 13421

149 1171

5 34897

211 827

2 87251

Источник: Демонстрационная версия ЕГЭ—2021 по информатике.