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


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

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

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

1 2 3 4 6 12

 

Ответ:

Решение.

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

 

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

var

x, numDel, i, j: longint;

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

begin

for i := 312614 to 312651 do begin

numDel := 0;

for j := 1 to i do begin

if i mod j = 0 then begin

numDel := numDel + 1;

if numDel > 6 then break;

d[numDel] := j;

end;

end;

if numDel = 6 then writeln(d[1], ' ', d[2], ' ', d[3], ' ', d[4], ' ', d[5], ' ', d[6]);

end;

end.

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

1 2 4 78157 156314 312628

1 3 9 34739 104217 312651