program ERATOST1 { Sieve of Eratosthenes } ; const Max = 64845 ; var J, K : word ; Prime : array [0..Max] of boolean ; BEGIN Writeln('ERATOSTHENES'^M^J' 2') ; FillChar(Prime, SizeOf(Prime), true) ; for J := 3 to Max do if Odd(J) then if Prime[J] then begin Writeln(J:5) ; K := J ; while K<=Max-J do begin K := K+J ; Prime[K] := false ; end end ; Write('') ; Readln ; END.