一位老師和他的三位學生A、B和C玩猜數字遊戲。老師想了一個三位數(XYZ),他告訴所有人X、Y、Z這三個數都不為0,然後把個位數Z告訴了A,十位數Y告訴了B,百位數X告訴了C,再讓他們輪流問老師問題來找到線索得到這個三位數的值。老師知道A、B、C三個人都很聰明,所以規定他們問的問題只能是是非題,而且每個人問的題目和老師給出的答案三個人都能聽得到。
第一輪開始。
A:這個三位數是質數嗎? 老師:不是。
B:如果用我拿到的數和A拿到的數組成一個兩位數(YZ),這個數是完全平方數嗎? 老師:不是。
C:如果用我拿到的數和B拿到的數組成一個兩位數(XY),這個數是完全平方數嗎? 老師:不是。
第一輪結束后,A說他已經知道這個三位數是多少了,不用再問問題了。
第二輪開始。
B:X、Y、Z這三個數之和是質數嗎?老師:不是。
這時B和C表示不用問了,他們都知道這個三位數是多少了。
問:這個三位數(XYZ)是多少?
iPhone 4位數密碼 :一個朋友打開了他的iPhone,我一把把它抓過來說:『嗯,9、6、0,和1,對吧?』。因為有濃重的手指印在這四個數字上面,我正確地推定這與他的密碼相關。他嚇了一跳,因為如果我是一個賊,我可以很容易解開他的電話。因為所有的四個數字在四位數字代碼中只有一次出現(據我所知,這隻有4 x 3 x 2 x 1 = 24種可能)。因而,取四個不同數字作代碼不是非常安全的。
所以,當我設定密碼時,我選擇了重複的數字(如1-2-3-1)。這樣一來,如果有人會看我的手機,即使他們能夠探測到我的手指印,他們要麼在猜想第四個數字(不存在),或者,他們如果弄清楚我只用三個獨立數字,他們將不得不嘗試在一個四位數代碼中,列出這三個不同數字所有可能的排列。
問題是:
1.在一個四位數的代碼中,只使用三個數字對安全是否確實有幫助?
2.如果只重複使用兩個獨立的數字會不會更好呢?