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 ạ??

Quân viết 10:49 ngày 01/10/2018

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

Hùng Phạm viết 10:47 ngày 01/10/2018

ờ đú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

rogp10 viết 10:36 ngày 01/10/2018

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ố.

Bài liên quan
0