(第一篇博文)

    今天在一个交流群里见他们无聊,然后找到之前收藏的一些c语言题目放出去想让他们做,结果反倒是自己不会做,于是花了很多时间去想。

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

  其实问题本身并不难,只是一开始想多了,陷入死循环。

  那这个问题的突破口在哪里呢?

  不管谁说谎,每个人都有两个状态  真和假

  由此,我们就可以确定,我们有循环嵌套:

  for(var zhangsan=0;zhangsan<=1;zhangsan++)
{for(var lisi=0;lisi<=1;lisi++){for(var wangwu=0;wangwu<=1;wangwu++){}}
}

  这时候,我们只要对zhangsan lisi  wangwu  这三个变量进行逻辑判断即可

  逻辑怎么判断呢?

  根据题目,我们一段一段的分析:

  张三说李四在说谎  : 假设zhangsan 就是正确的,那么有   zhangsan == !lisi

  李四说王五在说谎  :同理,有 lisi == !wangwu

  王五说张三和李四都在说谎 : 有  wangwu ==((!zhangsan)&&(!lisi))

  

  根据数学带入解方程的方法,我们其中的两个两个相互代入,得到两个式子,得到:

  zhangsan == wangwu

  lisi ==((!zhangsan)&&(!lisi))

  那我们的结果只要符合上边两个要求即可:

  

  if((zhangsan == wangwu)&&(lisi ==((!zhangsan)&&(!lisi))))

  

最后的结果:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
for(var zhangsan=0;zhangsan<=1;zhangsan++)
{for(var lisi=0;lisi<=1;lisi++){for(var wangwu=0;wangwu<=1;wangwu++){if((zhangsan==((!zhangsan)&&(!lisi)))&&(zhangsan==wangwu))alert("张三:"+zhangsan+"  李四:"+lisi+"  王五:"+wangwu);}}
}</script>

ps:虽然说现在做些网站和写些小软件是没问题的,但是由于c#  和 java 都是高级的语言,而且实际使用的时候也很少要这样判断逻辑的,

很久不做这些,脑子真的会生锈的。

  

  

转载于:https://www.cnblogs.com/mengtree/p/5251946.html

c语言训练题:关于张三李四王五说谎的问题(此处用javascript实现)相关推荐

  1. java统计投票张三李四_[Java教程]c语言训练题:关于张三李四王五说谎的问题(此处用javascript实现)...

    [Java教程]c语言训练题:关于张三李四王五说谎的问题(此处用javascript实现) 0 2016-03-07 22:00:16 (第一篇博文) 今天在一个交流群里见他们无聊,然后找到之前收藏的 ...

  2. 为什么c语言乘除法优先级低,C语言训练题.docx

    C语言训练题 C语言训练题1.表达式:(int)((double)9/2)- 9%2 的值是A) 0B) 3C) 4D) 5 参考答案:B[解析]先将整型数据9强制转换成double型,然后除以2得到 ...

  3. c语言编程判断谁说谎,c语言训练题:关于张三李四王五说谎的问题(此处用javascript实现)...

    (第一篇博文) 今天在一个交流群里见他们无聊,然后找到之前收藏的一些c语言题目放出去想让他们做,结果反倒是自己不会做,于是花了很多时间去想. 原题:张三说李四在说谎,李四说王五在说谎,王五说张三和李四 ...

  4. C语言训练题-有重复的数据

    7-37 有重复的数据 (10分) 在一大堆数据中找出重复的是一件经常要做的事情.现在,我们要处理许多整数,在这些整数中,可能存在重复的数据. 你要写一个程序来做这件事情,读入数据,检查是否有重复的数 ...

  5. C语言训练题-铺草坪简易版

    7-4 铺草坪简易版 (15分) 有一块m*n的长方形草地,现用一种正方形的草皮把这块草地铺满,请计算最少需要多少块正方形草皮? 输入格式: 在一行中输入两个正整数m,n (1=<m,n< ...

  6. c语言编程思维训练50题,c语言逻辑思维训练题一

    c语言逻辑思维训练题一 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 要求:用java实现下面的所有题目,2012年11月1日提交 ...

  7. c语言中a lt 1e-9,年9月计算机二级考试C语言强化训练题

    年9月计算机二级考试C语言强化训练题 为了使广大学员在备战计算机二级考试时更快的掌握相应知识点,小编在此精选了计算机二级C语言的练习题供学员参考,大家要抓紧时间备考,祝大家备考愉快,梦想成真. 一.单 ...

  8. c语言逻辑思维编程题,c语言逻辑思维训练题一

    c语言逻辑思维训练题一 要求:用java实现下面的所有题目, 2012 年11月1日提交分支类 2012 年11月2日-3日提交循环类 严禁抄袭 分支类: 1.编写程序,输入一个整数,打印出它是奇数还 ...

  9. 神奇算式的c语言算法思想6,C语言算法训练题.docx

    C语言算法训练题 C训练题一题1:/problem.page?gpid=T303未名湖边的烦恼每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰 ...

最新文章

  1. 【 FPGA 】关于FPGA中复位的设计问题(包含异步复位,同步释放方案)
  2. python编译安装pyaudio
  3. NYOJ 73 比大小
  4. php debug_print_backtrace,php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
  5. MMSegmentation:标准统一的语义分割框架
  6. java的设计模式之单列设计模式
  7. date对象加十分钟_js面向对象-这样学很轻松
  8. 安卓 java 视频_安卓实战项目-动态桌面-rxjava实现搜索本地所有视频
  9. C++学习之 delete 构造器
  10. LinkedIn应用开发系列(三) --认证Request token
  11. 滴滴美团58携程,那些发生在大并购谈判桌背后的故事
  12. 启动计算机应用程序的命令,如何设置电脑Windows开机启动项命令?
  13. paperwhite3翻页_Kindle vs. Paperwhite vs. Voyage vs. Oasis:您应该购买哪种Kindle?
  14. RxSwift 学习笔记
  15. P3942 将军令 [贪心]
  16. /*CDATA*/介绍
  17. 《计算机网络自顶向下方法》读书笔记(五):链路层和局域网
  18. VirtualBox下载安装
  19. ntsd.exe病毒专杀--手工清除
  20. UI设计中首页设计指南

热门文章

  1. 使用@Constraint配合自定义注解开发
  2. 我的PSoC学习(一)(PSoC Creator 2.0+win7+CY8C38):入门级别的五个工程
  3. 如果大小周或者单休的话,老板能白嫖多少
  4. 尚硅谷javaweb视频教程免费分享
  5. linux 线程与进程的简单区别
  6. FXCM福汇外汇 fx-aisa.com「连续走势」与「反转走势
  7. 30岁遇到发展瓶颈?AI来了,你的职业规划可能才刚刚开始
  8. barnyard2 mysql_CentOS 6.2下安装基于Suricata + Barnyard 2 + Base的入侵检测系统 | 学步园...
  9. Modelsim SE仿真之器件库的编译与使用
  10. Java鬼吹灯刷宝石_README.md · 灯下黑鬼吹灯/highcharts2javatag - Gitee.com