bài 7: Nhập số nguyên dương n, kiểm tra xem n có phải số nguyên tố trong tập số nguyên dương hay không mọi người ơi ai biết làm, giúp mình với, mình cảm ơn trc ạ
bài 7: Nhập số nguyên dương n, kiểm tra xem n có phải số nguyên tố trong tập số nguyên dương hay không mọi người ơi ai biết làm, giúp mình với, mình cảm ơn trc ạ
Program so_nguyen_to;
Uses crt;
Var a: longint;
Begin
clrscr;
Write('Nhap mot so bat ki: '); readln(a);
For i:=1 to a-1 do
If a<2 then Write(a,' khong phai so nguyen to');
If a mod i = 0 then write(a,' khong phai so nguyen to')
Else Write(a,' la so nguyen to');
Readln
End.
Program so_nguyen_to;
Uses crt;
Var a: longint;
Begin
clrscr;
Write('Nhap mot so bat ki: '); readln(a);
For i:=1 to a-1 do
If a<2 then Write(a,' khong phai so nguyen to');
If a mod i = 0 then write(a,' khong phai so nguyen to')
Else Write(a,' la so nguyen to');
Readln
End.
i chạy từ 2 nhé bạn. vì nếu i=1 thì a chia hết cho i với mọi a rồi
Bổ sung thêm là để tối ưu hóa việc lập trình thì người ta không cần thiết phải cho i chạy từ 1 đến a-1.
Vì tính chất rất đẹp của số nguyên tố:
For i:=2 to trunc(sqrt(a)) do...
Chỉ cần cho i chạy đến phần nguyên của [tex]\sqrt{a}[/tex] là đã đủ chứng minh a là snt hay không rồi.