30/09/2018, 16:52
bài tập vòng lặp trong lập trình C
mọi người gúp e bài này
nhập số nguyên n và tính tổng các số nguyên tố nhỏ hơn n
Bài liên quan
mọi người gúp e bài này
nhập số nguyên n và tính tổng các số nguyên tố nhỏ hơn n
Bạn có ý tưởng gì chưa, có code thì đưa lên luôn, sai cho nào mọi người sửa giúp
Bài này cẩn thận không cần vòng lặp ấy chứ
mình chỉ có ý tưởng kiểm tra xem nó có phải là số ngto k và chưa suy nghĩ ra cách tìm các số ngto nằm trong khoảng nhỏ hơn n để tính tổng
À mình nhầm cứ tưởng tính các số nguyên không thôi
Chạy biến
j
từ 1 đến n, kiểm tra biến đó có phải là nguyên tố không, nếu có thì cộng vào biến tổngBạn tham khảo topic này nhá.
thực sự mình chưa học tới mảng bạn ơi, mà dùng điều kiện j để kiểm tra biến đó có phải là số ngto k bạn
Thế bạn xem ở đây nhá
expressmagazine.net
Bài toán kiểm tra số nguyên tố
Diet con trung kien,Diet con trung muoi, Diet con trung gian, Diet con trung ruoi, Diet con trung chuot, Uy tín - Chất Lượng - Hiệu quả
Em nghĩ nên cải tiến thế này:
sum = 2
(2 là số nguyên tố).Thế là xong. Thuật toán trên thật ra là thuật toán liệt kê các số nguyên tố
< n
, mình lợi dụng việc đó để cộng tổng luôn.Giải thích: vì ngoài 2 ra, các số nguyên tố còn lại đều là số lẻ, nên ta để
sum
bắt đầu từ 2. Rồi để vòng lặp chạy từ 3, mỗi lần lặp thì tăng i thêm 2 thì nó sẽ luôn là số lẻ.Cũng hay đấy , mà em xem cái link trên chưa, họ có một số cải tiến nữa đấy
Dạ, cái chạy tới
sqrt(n)
là trong phần Check đó anh.Còn cộng tổng thì phải chạy đến khi nào >= n thì thôi (đề kêu v)
Hợp lý cách làm của em rất giống phương pháp Sieve of Eratosthenes (giống đoạn đầu )
http://www.caulacbovb.com/forum/viewtopic.php?f=12&t=12572
A, em nhớ rồi, cái đó là thuật sàn Eratosthenes, để liệt kê số nguyên tố
Ukm, bây giờ người ta dùng thuật toán Miller - Rabin tìm nhanh hơn nhiều nữa nhưng mà anh đọc không hiểu