Lỗi khi viết vòng lặp for

Anh chị cho em hỏi : sao em thấy code k có vấn đề gì mà ra kết quả lạ vậy

Mỗi lần lặp em tăng n lên i đơn vị.
Có nghĩa là i sẽ không “đuổi” được tới n để thoát for một cách “bình thường” mà phải chờ cho đến khi n vượt ngưỡng max của int và có giá trị âm thì mới thoát for phải không ?
Em đang muốn làm vậy à ?

5 Likes

trong for n+=i; điều kiện lại i<=n thì bạn nghĩ nó chạy đến lúc nào?

4 Likes

Có gì đâu mà lạ?
Biến i thì tăng 1, nhưng biến n thì tăng theo cấp số cộng dồn (n + i(i+1)/2). Đến khi nào thì i đuổi kịp n?. Khi n lớn quá và trở thành số âm thì vòng lặp dừng.

Giống như bạn lấy chếc Audi vào trường đua với xe công thức 1 (F1) vậy. Bạn chả bao giờ đuổi kịp nó, nhưng đến khi nó chạy hết 1 vòng và đang đến sau đít bạn thì bạn lại nghĩ rằng nó thua và đang đuổi theo bạn.

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