Trở về đầu
Đề bài: Liệt kê các số nguyên tố trong khoảng từ 1 tới n (n <= 255). Sử dụng thuật toán Sàng số nguyên tố Eratosthenes ứng dụng với kiểu tập hợp.
Mời các bạn download tại: Click here
uses crt;
var n:integer;
Sang: set of byte;
//a: array [1..100] of integer;
i, k, sqrtn: integer;
BEGIN
CLRSCR;
write('Nhap so n: ');readln(n); // n < 256 phan tu
Sang:= [2..n];
i:= 2;
sqrtn:= trunc(sqrt(n));
repeat
write(i:3, ' ');
for k:= 2 to n div i do
Sang:= Sang - [k*i];
i:= i+1;
while (i <= n) and not (i in Sang) do i:= i+1;
until i > sqrtn;
while i <= n do
begin
if i in Sang then write(i:3, ' ');
i:= i+1;
end;
readln;
END.