当前位置: 首页 > 词句摘抄 > 正文

张三说李四说谎,李四说王五说谎,王五说张三李四都说谎,到底谁说谎?

一、张三说李四在说谎,李四说王五说谎,王王说张三和李四都说谎,问...

张三,
第一王五说张三李四都说谎,则可判定李四没有说谎,王五没有说谎,所以张三是唯一一个被指明说谎的人

二、c语言 张三说李四在说谎,李四说王五在说谎,王五说张三和李四...

张三、李四、王五都是假。
真要这么问就是这么回答,因为编程语言就是这么执行的,执行到最后一步,我们不管是谁说,只要能运行就默认执行了,他说了那就是对了,执行到最后一步那就是最后一步了。我用编程语言简单表达:
//我初始化三个人,默认都没说谎
public const string s="没说谎";
public const string l="说谎";
public string 张三=s;
public string 李四=s;
public string 王五=s;
//开始告密事件
private void says()
{
李四=l; //说过了李四是说谎
王五=l; //说过了王五是说谎
张三=l; //说过了张三是说谎
李四=l; //再次赋值说过了李四还是在说谎
print 张三,李四,王五;
}

三、张三说李四说谎了,李四说王五说谎了,王五说张三和李四说谎了...

李四说的是真话
理由:
假设张三说真话,则李四说王五说谎是假的,即王五说的是真话,与假设相冲突。
假设王五说真话,则张三说“李四在说谎”是假话,所以李四没说谎,而李四说的是“王五在说谎”,与假设冲突。
假设李四说真话,所以张三说的是假话,而王五说前两人都说谎,显然也是假话,因为李四说的是真话嘛!
特别强调:王五说“张三和李四都在说谎”的反命题是“张三和李四不都在说谎”而不是“张三和李四都不在说谎”。

四、C语言编程: 张三说李四说谎,李四说王五说谎,王五说张三和李...

设张三为A、李四为B、王五为C,说真话为1,说谎话为0 (Ⅰ)若A=1,即张三说真话 由于张三说:“李四在说谎”可推知B=0 而李四说:“王五在说谎”,但B=0,李四说假话,则王五说的真话C=1;由于王五说:“张三和李四都在说谎”,可知A=0,B=0与A=1矛盾.则A=1时问题无解. (Ⅱ)若张三说假话,即A=0.由于张三说:“李四在说谎”,可知李四说真话,即B=1;李四说:“王五在说谎”知C=0由于王五说:“张三和李四都说谎”,而C=0,可得A=1,B=1或A=0,B=1,或A=1,B=0.只要这三种情况有一种成立,都可说明王五说的张三、李四全都说谎是假的,因在这三种情况中至少有一个人说的是真话.由这三种情况可以挑选出A=0,B=1,C=0符合要求. 结论:张三、王五说假话,李四说真话.
本文来自网络,不代表中华句子知识百科网立场,转载请注明出处。
版权声明:本文摘录网络及网友提供等多渠道,如有侵权请联系站长。