01/10/2018, 15:55
Bài toán liệt kê số nguyên tố nhỏ hơn n trong c
chào mọi người hiện tại em đang làm bài toán liệt kê số nguyên tố nhỏ hơn n (n nhập từ bàn phím ), em hiện tại đã code xong nhưng không rõ sai đâu mà lúc chạy nó hiện kết quả như hình dưới. Mong mọi người giải đáp em cảm ơn


Bài liên quan
Up code lên để mình sửa cho.
Code bên trên bạn ơi
Không có ai rảnh ngồi gõ lại đoạn code kia đâu, bạn paste code lên, vào
Bài này mắc lỗi sai cực kỳ nghiêm trọng ở hàm
còn lại tự debug và sửa lỗi nhé.
đại khái sau khi fix thì vẫn không chạy được ạ
Vấn đề ở đây là algorithm của bạn sai hoàn toàn rồi (bạn nên check lại logic của bạn trên giấy trước khi viết nó trên máy tính nha)
Hint: bạn muốn kiếm
all prime numbers < n
thì công thức toánSieve of Eratosthenes
là điểm khởi đầu tốt cho bạn đấy.Good luck.
đại khái mình vẫn chưa rõ giải thuật sai ở đâu, đại khái là mình kiểm tra 1 số n có phải là số nguyên tố không, thì cho i chạy từ 2 đến n, nếu n chia hết cho i thì trả về giá trị 0 ( tức là không phải số nguyên tố), nếu không phải thì trả về giá trị 1. Và nếu hàm trả về giá trị 1 thì in i ra màn hình
Hãy test làm nguyento trước với 1 số nguyên tố (vd 5) và 1 số không nguyên tố (vd 4).
Trong câu
In ra màn hình
Kiểm tra kết quả để biết sai ở đâu
à rồi cảm ơn bác, tại xét <=n trong vòng lặp for của hàm nên ra kết quả sai
Đã sửa lại cho bạn nè, đã tối ưu hóa thuật toán để không phải lặp nhiều.
người ta nhập vào số <2 thì sao ? tối ưu code là việc làm sau cùng trước hết là phải tìm hết các trường hợp có thể xảy ra cái đã
cảm ơn bác, với cả mình cũng đã sửa lại bài để tính các trường hợp < 2 rồi
Cảm ơn bác đã nhắc nhở. <3