Есть пара неясностей в условии. Если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
И еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k>=4 then write(i:3); уберите знак > .
Есть пара неясностей в условии. Если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
И еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k>=4 then write(i:3); уберите знак > .
1 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число N');
for i:= 1 to n do begin
k:=0;
for j:= 1 to i do
if i mod j =0 then k:=k+1;
if k>=4 then write(i:3);
2 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число N');
for i:= 1 to n do begin
k:=0;
for j:= 2 to (i-1) do
if i mod j =0 then k:=k+1;
if k>=4 then write(i:3);