0. Ты никак не задаёшь n в программе. Тебе стоит хотя бы прочитать его: read(n);1. Что написано внутри условия цикла while? Если по твоему решению, должно быть "i <= n"2. Делители будут "прилипать" друг к другу, выводи так: write(i, ' ');3. Твой счётчик i не увеличивается, программа зациклится. После if'а вставь i := i + 1;Итоговый код:var n, i: integer;begin read(n); i := 1; while (i <= n) do begin if n mod i = 0 then write(i, ' '); i := i + 1; end; writeln('n');end.Есть, кстати, альтернативный способ поиска делителей. Выводить их он будет, правда, не в порядке возрастания.var n, i: integer;begin read(n); i := 1; while (i * i < n) do begin if n mod i = 0 then write(i, ' ', n div i, ' '); i := i + 1; end; if i * i = n then write(i, ' '); writeln('n');end.