读书人

算法实现逻辑推理三人说谎有关问题

发布时间: 2012-03-06 20:47:55 作者: rapoo

算法实现逻辑推理,三人说谎问题
设有A,B,C三人要么说谎要么说真话,A说B说谎,B说C说谎,C说A和B说谎,编写合适算法。

[解决办法]
A和B肯定一个人说谎,而C说A和B都说谎,所以C说谎,故B说真话,A说谎
[解决办法]
A = !B, B = !C, C = !(A || B)
===> A = C = !A && !B = !A && A;
===> A = false, B = true;
[解决办法]

探讨
A = !B, B = !C, C = !(A || B)
===> A = C = !A && !B = !A && A;
===> A = false, B = true;

[解决办法]
探讨
引用:
A = !B, B = !C, C = !(A || B)
===> A = C = !A && !B = !A && A;
===> A = false, B = true;


请教一下,

为什么“C = !(A || B)”,而不是C = !(A &&……

[解决办法]
探讨
引用:
引用:
A = !B, B = !C, C = !(A || B)
===> A = C = !A && !B = !A && A;
===> A = false, B = true;


请教一下,

为什……

[解决办法]
为什么“C = !(A || B)”,而不是C = !(A && B)?//你这个是指 A 和 B 只要有一个是说谎就可以了而不是只A和B都说谎
[解决办法]
探讨
为什么“C = !(A || B)”,而不是C = !(A && B)?//你这个是指 A 和 B 只要有一个是说谎就可以了而不是只A和B都说谎

[解决办法]
lz想要问什么?分析几个人谁说谎谁没说谎吗?
就这题而言,没有答案
若A说实话,则B说慌,则C说实话,则A说实话,矛盾
若A说谎, 则B说实话,则C说谎,则A说实话,矛盾

典型的悖论
[解决办法]
探讨
lz想要问什么?分析几个人谁说谎谁没说谎吗?
就这题而言,没有答案
若A说实话,则B说慌,则C说实话,则A说实话,矛盾
若A说谎, 则B说实话,则C说谎,则A说实话,矛盾

典型的悖论

[解决办法]
(C说A和B说谎) 如果C说谎则有:
1. A 在说实话 ,B 在说实话;
2. A 在说实话 ,B 在说假话;
3. A 在说假话 ,B 在说实话;

本题中就是 3 这种情况
[解决办法]
好吧,理解错了。。

读书人网 >软件架构设计

热点推荐