30/09/2018, 18:15
Tư vấn code bài toán in ra tất cả các chuỗi nhị phân có độ dài n
Tình hình là em mới học giải thuật. Em đọc tài liệu của thầy Lê Minh Hoàng tới bài in ra tất cả các chuỗi nhị phân có độ dài n. Sau 3 ngày thì em mới code được chừng này.
Nhưng khi chạy thì thiếu mất mấy chuỗi
Anh nào rành thì chỉ hộ em với
Bài liên quan
while(i>=0)
chứ ko phảiwhile(i>0)
tại sao vậy anh ? anh có thể giải thích giúp em được không
vì mảng
x
có bit cao nhất tại chỉ sối=0
anh có thể giải thích kĩ hơn một chút được không ạ ?
While(i>0) thì code của bạn chỉ chạy tới n-1 thôi. Do đâu thì như Gió nói rồi đó.
Do bạn đã bỏ qua bit cao nhất ở vị trí 0.
Như trường hợp này: 011
thì ở vòng
while(x[i]==1..) --i
; làm cho i = 0. (vị trí cao nhất đó)Đáng lẽ nó sẽ in ra 100 ở while kế tiếp, nhưng khi trở lại đầu vòng while, nó kiểm tra thấy i = 0 không thỏa i>0 nên thèm làm nữa. Và thoát luôn.
À em thông rồi TY