说谎问题求解

一个经典的说谎问题,题目大致意思如下:
一个岔路口分别通向诚实国和说谎国,来了两个人,一个说真话一个说假话,我们不知道哪个说真话哪个说假话,现在要去诚实国,问两个人,请问怎么问才能到诚实国。

方法当然是问其中一个人,这条路是去诚实国的吗,然后问第二个人,根据他得回答分析。
这个不时重点,重点是题目要用编程中的逻辑运算表达式解释原因?这该如何用逻辑运算表达式解释原因呢?

阅读 2.9k
1 个回答
// javascript
var a = Math.random() < 0.5;
var b = !a;

这时候不知道 ab 哪个是真哪个是假,但是一定知道 a && b 是假,a || b 是真。

联合两个人的说话,向 b 问:如果我问 a 这条路是否通向诚实图,他会怎么回答?

不管谁回答的是假话,这个综合的结果都一定是假的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏