Anh chị cho em hỏi : sao em thấy code k có vấn đề gì mà ra kết quả lạ vậy
Lỗi khi viết vòng lặp for
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