Program resheto;
Const
n=500;
type
erat = array[0..n] of boolean;
Var
j,i,k:integer;
b: erat;
Begin
read(j);
for i:=2 to j do b[i]:=true; {??????????}
i:=2; {??????????}
repeat {??????????}
k:=i; {??????????}
repeat {??????????}
i:=i+k; {??????????}
b[i]:=false; {??????????}
until i>j; {??????????}
i:=k+1; {??????????}
until i>j; {??????????}
for i:=2 to j do {??????????}
if b[i]=true then write(i,' '); {??????????}
readln; {??????????}
readln; {??????????}
end; {??????????}
Заранее огромное спасибо!