一位老师和他的三位学生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.如果只重复使用两个独立的数字会不会更好呢?