есть пара неясностей в условии. если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
и еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k> =4 then write(i: 3); уберите знак > .
Answers & Comments
Ответ:
есть пара неясностей в условии. если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
и еще кое-что: если нужно хотя бы 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);