Đoán tuổi cho em

Liên hệ QC
Tham gia
14/9/12
Bài viết
312
Được thích
68
Nghề nghiệp
VT
Năm mới đã đến. Cũng là lúc các A/C nên ngồi nghỉ giải lao, thư giãn giảm stret.... 1 chút
Tôi xin gửi tới 1 trò chơi vui có tên là Đoán tuổi. Các A/C kiểm nghiệm xem có đúng không nhé.
 

File đính kèm

  • Doan tuoi.xls
    23.5 KB · Đọc: 139
Năm mới đã đến. Cũng là lúc các A/C nên ngồi nghỉ giải lao, thư giãn giảm stret.... 1 chút
Tôi xin gửi tới 1 trò chơi vui có tên là Đoán tuổi. Các A/C kiểm nghiệm xem có đúng không nhé.

Về 36 số thêm trong mỗi bảng xin mời đọc bài #6. Xin lỗi những bạn đã đọc vì có sự nhầm lẫn
------------
Với 7 bit thì chỉ thể hiện được số lớn nhất là
Mã:
1111111 (hệ nhị phân) = 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 127

Kiến nghị: Ở thời ăn ngon mặc đẹp, điều kiện sống, y tế càng ngày càng tốt thì có nhiều người có tuổi hơn 127. Để cho họ cũng được chơi thì ta thêm 1 bảng thứ 8 cho bit thứ 7.
------------
a. Thực tế là chưa cần tới tuổi > 127. Ngày nay số người có tuổi >= 101 rất nhiều. Cụ già 101 (= 1100101) tuổi thì phải có trong bảng 1, 3, 6, 7, nhưng không có.

b. Mỗi bảng còn nhiều ô trống. Có thể thêm các số khác cho đủ 100 số (10 hàng, 10 cột)

Chỉ cần thỏa các tiêu chí sau:

1. Những người có tuổi trong bảng 1 phải có bit thứ 0 là 1, tức có dạng xxxxxx1, tức tuổi chia 2 dư 1, tức tuổi dạng 2n + 1. Có 64 số có dạng như thế. 36 số còn lại ta chọn từ tập {1..127} sau khi loại 64 số bắt buộc phải có ở bảng 1.

2. Những người có tuổi trong bảng 2 phải có bit thứ 1 là 1, tức có dạng xxxxx10, xxxxx11, tức tuổi chia 4 dư 2 hoặc 3, tức dạng 4n + 2 và 4n + 3. Có 64 số có dạng như thế. 36 số còn lại ta chọn từ tập {1..127} sau khi loại 64 số bắt buộc phải có ở bảng 2.

3. Những người có tuổi trong bảng 3 phải có bit thứ 2 là 1, tức có dạng xxxx100, xxxx110, xxxx101, xxxx111, tức tuổi chia 8 dư 4, 5, 6 hoặc 7, tức dạng 8n + 4, 5, 6, 7. Có 64 số có dạng như thế. 36 số còn lại ta chọn từ tập {1..127} sau khi loại 64 số bắt buộc phải có ở bảng 3.

4. Những người có tuổi trong bảng 4 phải có bit thứ 3 là 1, tức có dạng xxx1100, xxx1101, xxx1110, xxx1111, xxx1000, xxx1001, xxx1010, xxx1011, tức dạng 16n + 8, 9, 10, 11, 12, 13, 14, 15. Có 64 số có dạng như thế. 36 số còn lại ta chọn từ tập {1..127} sau khi loại 64 số bắt buộc phải có ở bảng 4.

5. Những người có tuổi trong bảng 5 phải có bit thứ 4 là 1, tức có dạng xx10100, xx10101, xx10110, xx10111, xx10000, xx10001, xx10010, xx10011, xx11100, xx11101, xx11110, xx11111, xx11000, xx11001, xx11010, xx11011, tức dạng 32n + 16, 17, ..., 31. Có 64 số có dạng như thế. 36 số còn lại ta chọn từ tập {1..127} sau khi loại 64 số bắt buộc phải có ở bảng 5

6. Những người có tuổi trong bảng 6 phải có bit thứ 5 là 1, tức có dạng x100100, x100101, x100110, x100111, x100000, x100001, x100010, x100011, x101100, x101101, x101110, x101111, x101000, x101001, x101010, x101011, x110100, x110101, x110110, x110111, x110000, x110001, x110010, x110011, x111100, x111101, x111110, x111111, x111000, x111001, x111010, x111011, tức dạng 64n + 32, 33, ..., 63. Có 64 số có dạng như thế. 36 số còn lại ta chọn từ tập {1..127} sau khi loại 64 số bắt buộc phải có ở bảng 6

7. Những người có tuổi trong bảng 7 phải có bit thứ 6 là 1, là những số 64, 65, ..., 127. Có 64 số, 36 số còn lại ta chọn từ tập {1..63}
--------------
Nhiều người chơi mà lúc nào bảng cũng như nhau thì không thú vị lắm. Để hay hơn mỗi lần chơi ta:
1. Chọn cho mỗi bảng 1, 2, ..., 7 - 64 số bắt buộc và 36 số ngẫu nhiên.
2. Có 100 số rồi thì ta xáo trộn rồi mới nhập vào bảng. Sắp xếp kiểu như bảng 1 đơn điệu quá.

Như thế một người chơi lại thì thấy bảng lại khác - do 36 số ngẫu nhiên và do xáo trộn 64 số cố định.
Code chọn 64 số bắt buộc (đã có công thức ở trên) và chọn ngẫu nhiên 36 số cũng như xáo trộn chúng và nhập vào bảng thì đơn giản và ai cũng có thể viết được.
 
Lần chỉnh sửa cuối:
Với 7 bit thì chỉ thể hiện được số lớn nhất là
Mã:
1111111 (hệ nhị phân) = 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 127

Kiến nghị: Ở thời ăn ngon mặc đẹp, điều kiện sống, y tế càng ngày càng tốt thì có nhiều người có tuổi hơn 127. Để cho họ cũng được chơi thì ta thêm 1 bảng thứ 8 cho bit thứ 7.
------------
Ý kiến rất hay. Tôi tán thành ý kiến. Tôi cố ý để như vậy để mọi người nhìn thấy quy luật. Còn tạo thì tôi không làm được.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Ý kiến rất hay. Tôi tán thành ý kiến. Còn tạo thì tôi không làm được.

Đùa tí thôi chứ các cụ có tuổi > 127 thì cũng chả chơi trò này đâu.

Vấn đề là chọn 36 số ngẫu nhiên và được 100 số rồi thì xáo trộn xong mới nhập vào bảng. Tức "bảng động" chứ không phải là bảng tĩnh.

Ngoài ra có thể nghĩ thêm nhiều trò. Vd. sau khi thấy "có" khi hiển thị bảng 1 thì trước khi hiển thị bảng 2 ta "đùa" 1 câu: Aaa, bạn tuổi lẻ hả, ...". Hoặc sau khi có câu trả lời cho 4 bảng rồi thì rất có thể trước khi hiển thị bảng 5 ta có thể nói: "Ô, bạn là người đã trưởng thành rồi".

Thế để cho người chơi "lác mắt", từ đâu máy nó biết về mình nhiều thế.

Nghĩa là đề xuất thôi chứ tôi không có ý định viết code
 
Chỉnh sửa lần cuối bởi điều hành viên:
..............
Như thế một người chơi lại thì thấy bảng lại khác - do 36 số ngẫu nhiên và do xáo trộn 64 số cố định.
Code chọn 64 số bắt buộc (đã có công thức ở trên) và chọn ngẫu nhiên 36 số cũng như xáo trộn chúng và nhập vào bảng thì đơn giản và ai cũng có thể viết được.

Thêm 36 số ngẫu nhiên như thế - có vẻ không được bác ah, vì như thế hình như: nếu lẫn tuổi người đó vào trong bảng đáng lẽ không có , thì khi đó sẽ tính sai

Hay do không hiểu ý bác khác?

Nhưng bài này cho vào máy tính thì không hay lém, vì nhìn vào 64 số mà chọn qua 7 lần thì có vẻ như không có gì hấp dẫn cho người chơi.
 
Thêm 36 số ngẫu nhiên như thế - có vẻ không được bác ah, vì như thế hình như: nếu lẫn tuổi người đó vào trong bảng đáng lẽ không có , thì khi đó sẽ tính sai

Hay do không hiểu ý bác khác?

Nhưng bài này cho vào máy tính thì không hay lém, vì nhìn vào 64 số mà chọn qua 7 lần thì có vẻ như không có gì hấp dẫn cho người chơi.

Ha ha ha. Đơn giản thế mà lại nhầm lẫn. Ý gì đâu bạn, là không nghĩ sâu thôi. Đôi khi cũng phải phạm những lỗi ngớ ngẩn chứ bạn.

Thêm 36 số ngẫu nhiên chẳng qua là để lấp đầy bảng thôi. Nhưng nếu thế thì phải "rút thăm" từ 64 số kia thì mới đúng.

Cám ơn bạn nhé.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom