谁在说慌

本文通过一个简单的逻辑谜题,展示了如何使用程序验证不同情况下的陈述真实性。利用C++编程语言,通过对所有可能的情况进行遍历,找出符合题目要求的说真话与说谎者的组合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 


解:用a,b,c分别代表张三,李四和王五,且假设取0时说真话,取1时说假话。则有下面的逻辑:
通过程序,输出不矛盾的各值。

#include<iostream.h>
void main(){
 int a,b,c;
 for(a=0;a<2;a++)
  for(b=0;b<2;b++)
   for(c=0;c<2;c++)
   {
    if(a==0)
     if(b==1)
      if(c==0)
       if(a==1&&b==1)
        cout<<a<<" "<<b<<" "<<c;
       if(b==0)
        if(c==1&&a==1)
         if(a==0||b==0)
          cout<<a<<" "<<b<<" "<<c;
         if(c==0)
          if(a==0&&b==1)
           if(b==0)
            cout<<a<<" "<<b<<" "<<c;
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值