4.9. (*) Trò chơi đoán ngày trong tháng.An bảo Bình, cậu hãy nghĩ đến một ngày trong tháng, tớ hỏi...

Câu hỏi:

4.9. (*) Trò chơi đoán ngày trong tháng.

An bảo Bình, cậu hãy nghĩ đến một ngày trong tháng, tớ hỏi đúng 5 câu, cậu chỉ được trả lời đúng hay sai là tớ biết ngày cậu nghĩ.

Bình nghĩ số 25.

  • An hỏi: số đó bé hơn 16? Bình bảo Sai, An ghi vào sổ tay số 1.
  • An hỏi: số đó bé hơn 24? Bình bảo Sai, An ghi vào sổ tay tiếp một số 1 nữa thành 11.
  • An hỏi: số đó bé hơn 28? Bình bảo Đúng, An ghi vào sổ tay tiếp nhưng là số 0 thành 110. (Cứ nói sai là ghi 1, nói đúng là ghi 0).
  • An hỏi: số đó bé hơn 26? Bình bảo Đúng, An ghi vào sổ tay tiếp số 0 thành 1100.
  • An hỏi: số đó bé hơn 25? Bình bảo Sai, An ghi vào sổ tay tiếp số 1 thành 11001 và bảo số cậu nghĩ là 25, đây này 11001 chẳng phải là 25 trong hệ thập phân sao.

Bình không hiểu tại sao lại thế. Em có thể giải thích cho Bình được không?

Câu trả lời:
Người trả lời: GV. Đỗ Đăng Vương
Để trả lời cho câu hỏi trên, ta có thể làm như sau:

Cách 1:
- Lần lượt phân tích từng câu hỏi của An và xác định giá trị của các số d4, d3, d2, d1, d0 như đã giải thích.
- Dựa vào kết quả tính được, ta thu được biểu diễn nhị phân của số Bình đã nghĩ là 11001.
- Chuyển đổi biểu diễn nhị phân này sang hệ thập phân, ta được số 25, là ngày mà Bình đã nghĩ.

Cách 2:
- Để trả lời cho câu hỏi của An, ta cũng có thể dùng phương pháp chia để trị.
- Ta chia lần lượt các số từ 16, 24, 28, 26, 25 cho 2, với cách tính bằng cách nhớ rằng nếu kết quả là số lẻ thì số cần tìm là 1, ngược lại là 0.
- Dựa vào kết quả của các phép chia, ta thu được biểu diễn nhị phân của số Bình đã nghĩ là 11001.
- Chuyển đổi biểu diễn nhị phân này sang hệ thập phân, ta được số 25, là ngày mà Bình đã nghĩ.

Câu trả lời chi tiết và đầy đủ hơn:

Theo cách làm: Cách hỏi của An nhằm xác định từng chữ số trong biểu diễn nhị phân của số.
- Xét các số nhị phân có 5 chữ số. Số nhỏ nhất là 00000 là 0(10), và lớn nhất là 11111 là 31(10).
- Một số nhị phân có biểu diễn d4d3d2d1d0 sẽ có giá trị là: d4 x 16 + d3 x 8 + d2 x 4 + d1 x 2 + d0.
- Vì số nằm trong khoảng từ 0 đến 31 nên nếu số đó bé hơn 16 thì d4 phải là 0, ngược lại sẽ là 1.
- Câu hỏi của An nhằm xác định d4 (d4 = 1 vì số đã nghĩ không nhỏ hơn 16).
- Tiếp theo, cần xác định d3, số còn lại sau khi trừ đi 16, là nhỏ hơn 8 hay không (d3 = 1 vì số đã nghĩ không nhỏ hơn 24).
- Tương tự, xác định d2, số còn lại sau khi trừ đi 16 + 8, là nhỏ hơn 4 hay không (d2 = 0 vì số đã nghĩ nhỏ hơn 28).
- Xác định d1, khi d2 đã bằng 0 thì số chỉ có dạng d4 x 16 + d3 x 8 + d1 x 2 + d0, xem xem số còn lại sau khi trừ đi 16 + 8 là nhỏ hơn 2 hay không (d1 = 0 vì số đã nghĩ nhỏ hơn 26).
- Cuối cùng, với d0 do d1 = 0 nên số chỉ còn có dạng d4 x 16 + d3 x 8 + d0, xác định số còn lại sau khi trừ đi 16 + 8 là nhỏ hơn 1 hay không (d0 = 1 vì số đã nghĩ không nhỏ hơn 25).
- Biểu diễn nhị phân của số Bình là 11001.
- Chuyển đổi sang hệ thập phân, ta được kết quả là số 25, là ngày mà Bình đã nghĩ.
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.16185 sec| 2194.617 kb