Tại sao vòng for chạy từ 23 đến 45 mà chỉ in được ra vài giá trị?

Bác thử chạy debug xem, giá trị trả về có gì đó không đúng, trên lý thuyết phải trả về 0.

kiểu mình đang tìm trong 1 khoảng cho trước số nào chia hết cho tất cả các chữ số của nó thì in ra 1 còn không thì in 0 ấy bạn. nhưng mà nó lại chỉ in ra có vài số nên thắc mắc không hiểu tại sao sai

Em vừa chạy thử code của bác, báo core dumped. Bác xem thử xem thuật toán có vấn đề gì không, em cũng đang mò thử.

ừm mình mò này giờ không ra nên mới lên gr hỏi. cảm ơn bác nhé

với i = 30 thì sao?

30 % (30 % 10) = ?

2 Likes

Bác ơi em phát hiện ra vấn đề rồi. Ví dụ số 30 theo thuật toán của bác thì phép đồng dư của 30 với 0 trả về lỗi.

1 Like

ồ cảm ơn bác nhé để mình sửa lại xem sao

Đang xài IDE nào vậy bạn? Bỏ đi chuyển cái khác mà dùng. Core dump cũng không in ra thì … đáng bỏ đi.

bạn nên tự hỏi lại bản thân, vì sao bạn “mò” mà không ra, trong khi người ta không cần mò cũng ra

ít nhất bạn cũng phải biết được cách đơn giản nhất là cout biến i coi biến i nó chạy được tới bao nhiêu
sau đó thêm cout vào trong cái function kia coi nó đã gọi tới i bao nhiêu
và cứ thế thêm vào các chỗ khác coi nó chạy được tới i bao nhiêu và tới chỗ nào thì lỗi

đây là kĩ năng cơ bản nhất mà bạn cũng không áp dụng vào để “mò” thì mình không biết bạn mò kiểu gì
hơn nữa trên diễn đàn không đồng ý với việc chụp hình code, bạn muốn người ta debug bằng mắt sao? đó cũng là một sự thiếu tôn trọng, kể cả copy code mà chỉ copy một phần trong vài trường hợp cũng khó chấp nhận

hoặc là mình yêu cầu cao hoặc cũng có thể là thái độ học của bạn chưa tốt

5 Likes

Ồ mới phát hiện ra IDE cũng có cái return code 3221225620
3221225620 = 0xC0000094: nghĩa là Integer division by zero
IDE không đến nỗi vứt đi lắm :vampire:

4 Likes

vâng mình sẽ rút kinh nghiệm ạ.

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