两个人问一次就够了,随便选个人问如下的问题:
"你在奇数次回答假话"与"你是永远说真话的人"真值相同吗?
如果回答为"否",则就是这个人,回答为"是",则是另一人。
记
A: "在奇数次回答假话"
B: "是永远说真话的人"
则所问问题是 C: A<==>B
1) 如果碰到的是永远说真话的人,则A假B真,C为假,得到回答"否"
2) 如果碰到的不是永远说真话的人,且回答真话,则A假B假,C为真,得到回答"是"
3) 如果碰到的不是永远说真话的人,且回答假话,则A真B假,C为假,得到回答"是"
用类似的问题: "你在奇数次回答假话"与 命题X 真值相同吗?
可以在第一次问一个人时得出 X 命题的真假(答否则X真,答是则X假)
所以可在只问是非题的情况下,用 log(n)上取整次(以2为底) 问出。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。