2. VCT kiểm tra 1 số n có phải là số nguyên tố hay không
Ý tưởng cho i chạy từ 1 đến phần nguyên căn bậc hai của n
- Nếu n chia hết cho i trong bất cứ lần lặp nào thì n không phải là số nguyên tố.
- Nếu n không chia hết cho i trong bất cứ lần lập nào thì n là số nguyên tố
* Phần nguyên căn bậc 2 của n viết là trunc (sqrt(n))
nếu thế thì phải cho chạy từ 2 bạn ạ
ý tưởng của mình: chỉ cần n chia hết cho 1 trong các số trong vòng lặp thì sẽ lập tức thoát khỏi vòng lặp và ko kiểm tra nữa, còn nếu nó ko chia hết cho số nào thì nó là số nguyên tố
var n,i:longint;
bl:boolean;
begin
bl:=true;
write('n=');readln(n);
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then
begin
bl:=false;
break;
<break là lệnh để thoát ra khỏi vòng lặp khi gặp ước khác 1 của n>
end;
if bl=true then write('la so nguyen to')
else write('khong la so nguyen to');
readln;
end.