作业帮 > 综合 > 作业

JAVA算法,让你猜出一个对方的8位数电话号码?对方只回答YES或NO,问 多少次能问出对方的电话号码?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 01:27:40
JAVA算法,让你猜出一个对方的8位数电话号码?对方只回答YES或NO,问 多少次能问出对方的电话号码?
没有地区限制,意思八个0到八个9之间任意一个!
.哥,你还真有意思,最多要猜10的8次方~就是8位数号码一共有多少个.
再问: 你不懂!
再答: 那你给我个提示?
再问: 自己看,好像很清楚吧?
再答: 那给我个猜的过程?对方只回答yes或no,又不是回答高了还是低了,你不猜完所有的,我都说no,你能猜到么?
再问: 不然我让你写算法干嘛?
再答: 这跟算法有毛关系,只能一个一个遍历,你想用二分法?那回答只能是高了还是低了,你只回答yes或no,加入我有一个号码是12345678,你要怎么猜?不管高了还是低了回答都是no,ok?
再问: 哦? 这是微软入门题目~~!
再答: 。。哦,看来只能这么问了“你的号码大于50000000吗?",yes或者no就告诉你高了还是低了,还是用的二分法,一共100000000个数,算算log100000000就可以了算出来2的27次方就超过了,所以要27次