Bài này của bác ko được rồi, theo em nhớ như này là ko tối ưu vì phải chạy những cái ko cần thiết. như bác viết nếu count lớn hơn 2 rồi thì vòng for vẫn chạy tiếp, đúng ra nên để lệnh kiểm tra biến đếm trong vòng for, nếu nó = 2 là nhẩy ra ngoài luôn. Mà bài này thuật toán của nó ko phải vậy. Em nhiều chuyện trình bày thuật giải cho nó sướng.
Kiểm tra 1 số có phải số nguyên tố hay ko, thuật toán nhớ ko nhầm là nó ko chia hết số nào từ 2->căn bậc 2 của chính nó. thì nó là số nguyên tố.
Thuật giải mô tả như sau.
input nhập vào 1 số
làm hàm kiểm tra số đó có phải số nguyên tố hay ko
output --> kết quả có phải số nguyên tố hay ko
Chương trình demo thuật giải theo ngôn ngữ tự nhiên.
Nhập vào 1 số x
func snt(x)
return true;
for i=2 to (căn bậc 2 của x)
if (x chia hết cho i) thì
{
return false;
exit; (thoát luôn ở đây ko cần duyệt tiếp)
}
next
end func
main chương trình thì đơn gian
if snt(x) thì ---> snt
else ---> ko phải snt
lâu rồi mới đc lên sàn những bài thế này cũng vui