Pascal. Задача 8-32

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

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

2 3 4 6
Решение
const
  N = 4;
var
  i, j, cnt : integer;
  d : array[1..N] of integer;
begin
  for i := 145762 to 145880 do begin
    cnt := 0;
    for j := 2 to i - 1 do begin
      if i mod j = 0 then begin
        Inc(cnt);
        if cnt > N then break;
        d[cnt] := j;
      end;
    end;
    if cnt = N then begin
      for j := 1 to N do
        Write(d[j]:8, ' ');
      Writeln();
    end;
  end;
end.