猜数字:有0~15这16个数字,我想好其中一个,你可以问我任何问题,但我只回答“是”或“不是”。

现在请问:
1,你至多问几个问题就可以问出这个数?怎么问?
2,假设我回答你的问题时最多说一次谎,你至多问几个问题就可以问出这个数?又怎么问?

第1个回答  2011-11-03
1.你猜的是0-7内的数字吗,不管回答是或不是都去掉了一半的数字,16/2=8,再问,8/2=4,4/2=2,2/2=1,所以只要问4次。
2.你猜的是0-7内的数字吗,为了确保他不说谎,必须再问一遍,如果这两个相同的问题的答案一致,说明他没说谎,不一致说明说谎了,用1的方法每个问题问两遍,这样最好的情况是他在0-7的问题就说谎了,这样只需问5次,最坏的情况是他一次谎也没说,就要问8次。所以最多问8次追问

对于第二个问题,现在问我问题的这人有一种方法最多7次就可以了,但他说还有有一种逻辑法,只要问最多4次就可以了,我想知道这种算法是怎样的?

追答

第二题中如果那个人在回答问题时必定会撒一次谎的话,那么用我的方法就是7次。你说的4次问话的话,我觉得应该不是常规的思考方式了,那应该是类似于脑筋急转弯的答案。如果知道4次的答案了请务必告诉我,我对这些很感兴趣

第2个回答  2011-11-02
是偶数么? 【是】
能被5整除么?【不是】
是否大于7?【是】
除于2是否大于或等于6?【是】
是3的倍数么?【不是】
如果与括号内一致,那就是14了
第3个回答  2011-11-06
1 答案是4个问题。并且我觉得题目最好改成至少要几个问题才可以问出这个数。
这个数字是大于7吗?
假设 如果是,再问这个数字是大于11吗?
假设如果不是,再问这个偶数吗?
假设回答是,那么 再问8 或10就可以了。
第4个回答  2011-11-04
1你死吧