*Cách 1: Bằng cách đếm ước
program kiemtra;
uses crt;
var n,i,d:integer;
begin
clrscr;
write('Nhap n: '); readln(n);
d:=0;
for i:=1 to n do
if n mod i=0 then d:=d+1;
if d=2 then write('N la so nguyen to')
else write('N khong phai so nguyen to');
readln;
end.
*Cách 2: Dùng while...do nếu số nào lớn hơn 1 và khác n mà n chia hết thì không phải số nguyên tố
program kiemtra;
uses crt;
var n,i:integer;
begin
clrscr;
write('Nhap n: '); readln(n);
i:=2;
while n mod i<>0 do
i:=i+1;
if i<>n then write('N la so nguyen to')
else write('N khong phai la so nguyen to');
readln;
end.
*Dùng true/false;
program kiemtra;
uses crt;
var n,i:integer;
kt:boolean;
begin
clrscr;
write('Nhap n: '); readln(n);
kt:=true;
if n<2 then kt:=false;
for i:=2 to n div 2 ddo
if n mod i=0 then kt:=false;
if kt=true then write('N la so nguyen to')
else write('N khong phai la so nguyen to');
readln;
end.