01/10/2018, 08:34
Em không hiểu vòng lặp for này cho lắm. Mong được mng giải thích
for (int i = 3; i < sqrt((float)n); i += 2)
vòng lặp này để tìm số nguyên tố trong khoảng < 100
ví dụ em nhập vào từ bàn phím “n”= 5 thì căn bậc 2 của 5 sẽ là một số nhỏ hơn 3, vậy sao vòng lặp chạy đc ạ??
Bài liên quan
thì nó sẽ không chạy, thế thôi, những câu như thế này thay vì hỏi bạn có thể thử.
Nên tự thân vận động bạn à, bí quá không thể làm được gì nữa thì hãy hỏi, còn nếu còn có khả năng tự giải đáp thì không nên bỏ cuộc sớm
ờ đúng là mình hơi vội vàng khi đặt câu hỏi, cảm ơn bạn đã giải thích
Viết kiểu này thì trước đó phải
if(!(n%2))
.Có thể chứng minh được là chỉ cần tới
sqrt(n)
là đủ. Nhưng mà code đúng thì phải là<=
nếu chỉ có < thì sẽ nhận sai bình phương của số nguyên tố.