Вывести делители чисел | Язык Паскаль

Вывести делители чисел

Для каждого натурального числа в промежутке от M до N вывести все делители, кроме единицы и самого числа. Значения M и N вводятся с клавиатуры.

В цикле перебирать числа от m до n и проверять делимость каждого на натуральные числа от 2 до m div 2 (деление нацело на 2, так как максимальный целый делитель равен половине числа). Если число делится нацело на текущий делитель (не имеет остатка), то выводить делитель на экран. В конце каждой итерации цикла увеличивать m на единицу.

Программа на языке Паскаль:

var
    m, n, i: word;
 
begin
    readln(m, n);

    while m <= n do begin
        write(m,': ');
      
        for i := 2 to m div 2 do 
            if m mod i = 0 then 
                write(i, ' ');

        writeln;
        m := m + 1;
    end;
end.

Пример работы программы:

100 121
100: 2 4 5 10 20 25 50 
101: 
102: 2 3 6 17 34 51 
103: 
104: 2 4 8 13 26 52 
105: 3 5 7 15 21 35 
106: 2 53 
107: 
108: 2 3 4 6 9 12 18 27 36 54 
109: 
110: 2 5 10 11 22 55 
111: 3 37 
112: 2 4 7 8 14 16 28 56 
113: 
114: 2 3 6 19 38 57 
115: 5 23 
116: 2 4 29 58 
117: 3 9 13 39 
118: 2 59 
119: 7 17 
120: 2 3 4 5 6 8 10 12 15 20 24 30 40 60 
121: 11