ejsoon 发表于 2024-2-3 12:09:10

無所不知的包子

假設饑餓的你在路上撿到了一個包子,但是你沒有吃。原來這是一個無所不知的包子,為了報答你的不吃之恩,它將能回答你的所有問題,並且一定答對。但是它只能回答是或否。

你有一張銀行卡,密碼是六個不同的數字,你至少要問多少次包子,才能保證一定能找回密碼?

mathe 发表于 2024-2-3 21:17:23

显然二分法

ejsoon 发表于 2024-2-3 22:38:45

mathe 发表于 2024-2-3 21:17
显然二分法

如果數字可以相同呢?

ejsoon 发表于 2024-2-5 00:35:23

還有一個辦法,把999999轉成16進制是f423f,十六進制每一位可轉成4位二進制,則二十位二進制就問二十次。

不知轉二進制跟二分法,哪個更好用?

曹半 发表于 2024-2-5 09:17:33

6位数信息量19.9bit,问一次获取1bit信息,至少问20次

lihpb00 发表于 2024-10-31 16:57:51

二分法和二进制其实都是等效的

northwolves 发表于 2024-10-31 18:23:03

注意密碼是六個不同的數字,故18次足矣。
----------------------------------------------------
前2位10*9=90种可能,7次可以得到。
中2位 8*7=56种可能,6次可以得到
后2位6*5=30种可能,5次可以得到。

或者前3位 10*9*8=720种可能,10次可以得到,后3位 7*6*5=210种可能,8次可以得到。

hujunhua 发表于 2024-10-31 22:30:45

$P(10,6)=(10!)/(4!)=151200, log_2 151200=17.2$, 18次可以

共151200个不同的密码,按升序排列,然后二分法。

ejsoon 发表于 2024-11-3 20:57:53

northwolves 发表于 2024-10-31 18:23
注意密碼是六個不同的數字,故18次足矣。
----------------------------------------------------
前2位10* ...

或者前3位 10*9*8=720种可能,10次可以得到

前三位是能在10次(2^10=1024)得到,但是前三位不是720種可能,因為前三位是一起算的,所以可能數量是10*10*10。

只有知道第一位精確值,第二位才會是9種可能。

不知我的理解對否?

ejsoon 发表于 2024-11-3 20:59:26

hujunhua 发表于 2024-10-31 22:30
$P(10,6)=(10!)/(4!)=6300, log_2 6300=12.62$, 13次可以

不太理解你的算法,可否講解?現在「13次最少」已經是結論了嗎?
页: [1] 2
查看完整版本: 無所不知的包子