当前位置:首页 > 财经知识 > 正文

(银行卡忘记密码)假如忘记银行卡密码,有台机器只能回答是否,多少次能问出密码?

众所周知,我国现有的银行卡的密码都是由6位数字组成,这样就有000000-999999,一共是100万种可能。所以,假如你的银行卡丢了,被别人捡到,想通过试3次就解开密码,这是一件概率极其低的事件。

【问题】现在假如你有一张银行卡完全忘记了密码,恰巧有台机器可以回答你提出关于银行卡密码的问题,但只能回答你是或不是,在这样的条件下,你想重新得到银行卡密码,你至少需要问多少个问题?

(银行卡忘记密码)假如忘记银行卡密码,有台机器只能回答是否,多少次能问出密码?  第1张


【知识准备】二分法

也称为折半法,是一种在有序数组中查找某个特定元素的搜索方法。

也许你对上面的这段话还不甚理解,我来举一个例子,

一天你看到你朋友买了一部新手机,好奇价格,但你朋友只告诉你价格在3000到5000元之间,让你猜。

你肯定会先猜4000元,这个数字就把刚才的价格区间,拦腰分开为平均两份,如果朋友告诉你价格低了,

那么你就会猜4500元,这个数字就会将4000-5000的价格区间,又拦腰分开为平均两份,

依此类推,你每猜一个价格,就相当于把价格区间减半,这样不断缩小手机价格所在的价格区间,最终就会得到手机的价格。

这就是我们生活中经常会遇到的二分法的应用场景,除了这些,二分法还会出现在计算机编程,数学计算,研究等各方面。


二分法使用的次数与区间长度的研究:

比如我们要猜数字的结果是2

对于一个长为2的整数区间[1,2],我只需要问一次,这个数比1大么?你就可以确定这个具体数字,

对于一个长为4的整数区间[1,4],我需要询问两次,一次是这个数比2大么?一次是这个数比1大么?

对于一个长为8的整数区间[1,8],我需要询问三次,一次是这个数比4大么?第二次是这个数比2大么?第三次这个数比1大么?

依次类推,我们可以得到对于一个长度为L的整数区间,我们使用二分法的次数n,就满足这样的一个关系

(银行卡忘记密码)假如忘记银行卡密码,有台机器只能回答是否,多少次能问出密码?  第2张



【解答】

思路一:将密码分成6个部分,分别在每一位上用二分法,进行寻找。

因为每一位的数字都是在0~9之间,一共有10 中可能,根据前面的公式,最多只需要猜4次就可以确定该数位上的数字了。

银行卡密码一共有6位数字,所以就需要24次。


思路二:将6位密码看做是一个整体,数字从000000~999999,共100万个数字。

通过计算可知:

(银行卡忘记密码)假如忘记银行卡密码,有台机器只能回答是否,多少次能问出密码?  第3张

根据前面的公式,就可以知道

(银行卡忘记密码)假如忘记银行卡密码,有台机器只能回答是否,多少次能问出密码?  第4张

所以需要20次就可以了。



其他人还搜:
银行卡忘记密码了怎么办
银行卡忘记密码可以在手机上改吗
银行卡忘记密码锁定了怎么解锁
银行卡忘记密码输错三次怎么办
银行卡忘记密码必须去柜台吗
银行卡忘记密码可以打人工客服改吗
银行卡忘记密码被锁,可以异地处理吗
银行卡忘记密码冻结了怎么办
银行卡忘记密码手机号也换了怎么办
银行卡忘记密码可以在atm机改吗

0
取消
扫码支持 支付码