program DemSoNguyenTo;
var
n, i, j, count: integer;
isPrime: boolean;
begin
write('Nhap so nguyen duong n: ');
readln(n); // Nhập số nguyên dương n từ bàn phím
writeln('Cac so nguyen to <= ', n, ' la: ');
count := 0; // Khởi tạo biến đếm số lượng số nguyên tố
for i := 2 to n do // Duyệt qua các số từ 2 đến n
begin
isPrime := true; // Giả sử số hiện tại đang xét là số nguyên tố
// Duyệt qua các ước của số hiện tại để kiểm tra số nguyên tố
for j := 2 to round(sqrt(i)) do
begin
if i mod j = 0 then
begin
isPrime := false; // Nếu có ước thì không phải là số nguyên tố
break;
end;
end;
if isPrime then // Nếu số hiện tại là số nguyên tố
begin
writeln(i); // In ra số nguyên tố đó
count := count + 1; // Tăng biến đếm số lượng số nguyên tố lên 1
end;
end;
writeln('Tong so nguyen to <= ', n, ' la: ', count);
end.