Hỏi về code in ra số nguyên tố

Screenshot (239)
Mình mới học và khi xem trên quản trị mạng thấy có ví dụ về vòng lặp for thế này rồi khi nhập vào nó ra thế này @@

3 la so nguyen to
4 bang 2 * 2
5 la so nguyen to
5 la so nguyen to
5 la so nguyen to
6 bang 2 * 3
7 la so nguyen to
7 la so nguyen to
7 la so nguyen to
7 la so nguyen to
7 la so nguyen to
8 bang 2 * 4
9 la so nguyen to
9 bang 3 * 3

Ai biết tại sao giúp mình với, mình cảm ơn !! TT

Ở nút else thiếu break nên nó cứ tiếp tục duyệt đến num

3 Likes

Thôi tránh cái trang đó ra đi cho lành.

6 Likes

Sao lại tránh vậy anh. Em cũng chưa vào trang đấy để tìm kiếm liên quan đến lập trình nên cũng chưa hiểu sao lại phải tránh vậy :face_with_monocle: .

Ủa tại sao vậy ạ ?? ???

cám ơn bạn nhiều !!!

1 Like

Bạn ui nó oki rồi í cơ mà nó vẫn không chịu xét 0,1 với 2. Range sai chỗ nào ấy nhỉ :((

Làm sao xét 0, 1 và 2 được? Bạn có hiểu range(2, num) là gì không đấy và vì sao lại là 2 mà không phải là 0 hay 1? Đơn giản thôi, Số nguyên tốsố tự nhiên lớn hơn 1 không phải là tích của hai số tự nhiên nhỏ hơn => số nguyên tố đầu tiên là 2.

4 Likes

Chia cho 0 thì toang, còn chia cho 1… để làm gì?

4 Likes

Cảm ơn bạn lắm lắm !!!

À quên, 2 là số nguyên tố mà, thành ra phải xét từ 2 đến căn bậc 2 của x vì một số nguyên >= 2 bất kỳ sẽ luôn có số ước ở nửa đầu căn bậc 2 của nó bằng số ước ở nửa sau căn bậc 2 của nó. Cụ thể, các ước sẽ phân bố thành 2 miền từ [2; sqrt(x)] và từ [sqrt(x); x].

1 Like

[\sqrt{x}, x) chứ nhỉ.

4 Likes

Em nghĩ là có dấu bằng ở x chứ ạ. Vì x cũng là ước của x mà

Vì đã không kể 1 thì x cũng không kể.

Hai thừa số đi đôi với nhau. Nó quan trọng ở chỗ thừa số bé hơn không thể vượt quá \sqrt x, nên tới \sqrt x là duyệt xong. Tất nhiên có cách nhanh hơn chia từng số.

6 Likes

Định nghĩa số x nguyên tố là x không chia hết cho bất kì số nào ngoài 1 và x. Tính số x để làm gì?

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?