我是靠谱客的博主 简单身影,最近开发中收集的这篇文章主要介绍谁在说谎,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

张三说李四在说谎,李四说王五在说谎,王五说张三和李四都在说谎。现在问:这三
人中到底谁说的是真话,谁说的是假话?

思路:

        每个人说话都有真假可能,用0代表假,1代表真,假如张三说的是真话,那么李四就

为假,假如张三说的是假话,那么李四就为真,判断每个人说真话和说假话的情况(注意在

判断王五的时候假如王五说的是真话那么很显然张李为假,假如王五说的是假话,那么张李

两人至少是有一个是说真话的)

代码:

#include<iostream>
using namespace std;
int main()
{
	int x,y,z;
	for (x=0;x<2;x++)
	for (y=0;y<2;y++)
	for (z=0;z<2;z++)
	{
		if ((!x&&y||x&&!y)//张三说的话可能性 
		&&(!y&&z||y&&!z)//李四说的可能性 
		&&(!z&&x+y>0||z&&!x&&!y))//王五说的可能性 
	     {
	     	x?cout<<"张三说真话"<<endl:cout<<"张三说假话"<<endl;
			y?cout<<"李四说真话"<<endl:cout<<"李四说假话" <<endl;
			z?cout<<"王五说真话"<<endl:cout<<"王五说假话"<<endl;
		  } 
	}
	return 0;
} 


最后

以上就是简单身影为你收集整理的谁在说谎的全部内容,希望文章能够帮你解决谁在说谎所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(26)

评论列表共有 0 条评论

立即
投稿
返回
顶部