日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。

日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。
A说:不是我。       作者注释:(他的意思是说,凶手是B或C或D)
B说:是C。
C说:是D。
D说:C在胡说         作者注释:(他的意思是说凶手是A或B或C)
已知3个人说了真话,1个人说的是假话。

现在请根据这些信息,写一个程序来确定到底谁是凶手。

分析:首先是酱紫的,我们用0代表不是凶手,1代表是凶手。

A:只能说自己是凶手(0)或者不是凶手(1);

B,C,D也是一样,他们说的可能行只有两种,即01

#include
    
    
     
     
int main()
{
int a=0,b=0,c=0,d=0;
printf("0代表不是凶手;1代表是凶手\n");
for(a=0;a<2;a++)         //有四个人,而每个人说的情况只用两种
{
	for(b=0;b<2;b++)
	{
		for(c=0;c<2;c++)
		{
			for(d=0;d<2;d++)
			{
				if(((a==0)&&(c==1)&&(d==0)==1)+((a==0)&&(d==1)&&(d==0)==1)+((a==0)&&(c==1)&&(d==1)==1)+((a==0)&&(d==1)&&(d==0)==1))
				{
					if(a+b+c+d==1)
					printf("a=%d b=%d c=%d d=%d\n",a,b,c,d);
				}
			}
		}
	}
}
}
    
    

就是如此简单,小伙伴们,明白了吗?

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值