Bài toán kiểm tra số nguyên tố là một trong những bài toán đơn giản. Chỉ cần chúng ta nắm được khái niệm số nguyên tố là gì ? thì chúng ta sẽ tìm ra được thuật toán của bài này.
Nhắc lại : Số nguyên tố là số nguyên dương chỉ chia hết cho 1 và chính nó. Do đó, số 1 tuy nó vừa chia hết cho nó và vừa chia hết cho 1, nhưng nó lại chỉ có 1 ước chung, do đó số 1 không phải là số nguyên tố.
Ta có chương trình kiểm tra số nguyên tố như sau :
program kiem_tra_nguyen_to;
uses crt;
var n,i:integer; bl:boolean;
begin
clrscr;
bl:=true;
write('Nhap vao mot so nguyen duong: '); readln(n);
if n<=1 then bl:=false;
for i:=2 to trunc(sqrt(n)) then
if n mod i=0 then bl:=false;
if bl=true then write('so vua nhap nguyen to.')
else write('so vua nhap khong nguyen to.');
readln;
end.
Ở đây kết quả sẽ trả về 2 dạng là đúng hoặc sai theo kiểu dữ liệu logic boolean.
Nếu đúng thì in ra số đó là số nguyên tố, nếu sai thì in ra số đó không phải là số nguyên tố.
Đầu tiên ta kiểm tra xem nếu nó bé hơn hoặc bằng 1 thì không phải, nên kết quả trả về là false.
Sau đó ta cho nó chạy từ 2 đến căn bậc 2 của nó. Vì sao ta chỉ chạy đến căn bậc 2 của n mà không chạy đến n ? Vì chạy đến ngang đó là được rồi, chạy nhiều mất sức, hihi.
Nếu trong khoảng đó có 1 số nào chia hết cho n thì trả về false. Ngược lại nếu không có số nào cả thì trả về true.
Việc cuối cùng là in kết quả ra màn hình sao cho đẹp trai để giáo viên chấm điểm cho cao nhé !!!
Chúc các bạn thành công !!!
cac ban co the tham khao them viet chuong trinh kiem tra so nguyen to
ReplyDeleteĐoạn for do sai cấu trúc thành tỉ then kìa bác ơi
ReplyDeleteLệnh truc là lệnh gì thế ad
ReplyDelete