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

25 задание. ЕГЭ-2021. Информатика. Демонстрационный вариант.

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

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

2 3
3 4

Разбор задания

На языке Pascal

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

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

В результате работы программа должна вывести на экран эти числа.

Опубликовано: 18.03.2021 Обновлено: 18.03.2021
Поделись с друзьями

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

4 × два =