mình có mảng 100 phần tử.muốn random chỉ 5 trong số đó có giá trị 0.còn lại giá trị 1 thì làm ntn đc ạ
Chọn 5 số bất kì trong dãy 100 phần tử để gán giá trị bằng 0
mình không hiểu sao câu hỏi lại có format như vậy ? Bạn copy paste à
còn ý tưởng của mình là bạn random 5 lần để lấy index của 5 phần tử bất kì , set nó bằng 0 còn lại thì set = 1 , vậy thôi, đơn giản mà ta
1 Like
Set 5 pt đầu bằng 0 còn lại set 1. Sau đó random đại loại ntn: (pseudo)
for i:=1 to 5 do swap a[i], a[random(i, 100-i)] { i, i+1, ..., 99, 100}
oops
note
Chính là Knuth shuffle
1 Like
Set 100 phan tu do la 1 het, sau do chay vong lap for 5 lan de random 5 phan tu roi set gia tri = 0