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

0 голосов
1.7k просмотров

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [244143; 367821], числа, имеющие ровно 5 различных делителей. Выведите эти делители для каждого найденного числа в порядке возрастания.


Информатика (16 баллов) | 1.7k просмотров
Дан 1 ответ
0 голосов

Ответ:

Объяснение:

const

 a = 244143;// с какого числа

 b = 367821;// по какое число

 const_count_div = 5;// количество делителей

label

 1;

var

 i, k, t:longint;

 ar_div:array[1..500] of longint;

 count_div:integer;

begin

 for i:=a to b do begin // перебираем все числа из заданного промежутка

   count_div:=0;

   for k:= 1 to i do //  для каждого числа перебираем делители

     if (i mod k) = 0 then begin

       count_div:=count_div + 1;

       if (count_div > const_count_div) then goto 1; // если количество делителей больше заданного количества, то на следующий шаг

       ar_div[count_div]:=k;// заносим в массив делителей найденный делитель

     end;

   //writeln;

   if (count_div = const_count_div) then begin

     //writeln(i, ' ', count_div);

     write(i, ': ');

     for t:=1 to count_div do

       write(ar_div[t], ' ');

     writeln;

   end;

 1:

 end;

 writeln('End');

 readln;

end.

(3.1k баллов)