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

时间:2023-01-07 22:43:31

  (第一篇博文)

    今天在一个交流群里见他们无聊,然后找到之前收藏的一些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>

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

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

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

  

  

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

  1. X-NUCA 2017 web专题赛训练题 阳光总在风雨后和default wp

     0X0.前言 X-NUCA 2017来了,想起2016 web专题赛,题目都打不开,希望这次主办方能够搞好点吧!还没开赛,依照惯例会有赛前指导,放一些训练题让CTFer们好感受一下题目. 题目有一大 ...

  2. PAT乙级真题及训练题 1025&period; 反转链表 &lpar;25&rpar;

    PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...

  3. 二级C语言真题笔记

    二级C语言真题笔记 1. 知识重点:数据类型.循环.数组.函数.指针.结构体与共同体 2. 求程序的运行结果 #include <stdio.h> main() {     short i ...

  4. 日常 java&plus;雅思&plus;训练题1

    今天主要学了一些类似c中的一些语句,java也是一样类似的,只有一些点需要稍微注意一下,一些语句是新增的需要知道. 完完全全新学的知识就是class和instance的区别.如何创建实例.数据的封装. ...

  5. Python语言上机题实现方法(持续更新&period;&period;&period;)

    Python语言上机题实现方法(持续更新...) 1.[字符串循环左移]给定一个字符串S,要求把S的前k个字符移动到S的尾部,如把字符串"abcdef"前面的2个字符'a'.'b' ...

  6. 训练趣题:黑与白 有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。(此处用javascript实现)

    今天的题目原题是这样的: “ 黑与白:有A.B.C.D.E五人,每人额头上都帖了一张黑或白的纸.五人对坐,每人都可以看到其它人额头上的纸的颜色.五人相互观察后,A说:“我看见有三人额头上帖的是白纸,一 ...

  7. &num;018 C语言刷题 素数问题

    今天做题学会了一个求素数的方法 总分 13 孪生素数 相差为2的两个素数称为孪生素数.例如,3与5,41与43等都是孪生素数.设计程序求出指定区间上的所有孪生素数对.区间上限和下限由键盘获取. 程序运 ...

  8. C语言扩展题

    1.使用cmake来创建c语言工程 2.使用gcc来编译源代码 3.下载redis,并且编译运行redis(注:redis目前是c语言编写的,而且是主要是linux平台,在windows平台编译比较麻 ...

  9. C语言100题集合004-统计各个年龄阶段的人数

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

随机推荐

  1. C语言操作注册表 写入 读取信息

    #include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Micr ...

  2. Ubuntu 14&period;04 64bit 安装tensorflow(GPU版本)

    本博客主要用于在Ubuntu14.04 64bit 操作系统上搭建google开源的深度学习框架tensorflow. 0.安装CUDA和cuDNN 如果要安装GPU版本的tensorflow,就必须 ...

  3. HDU 4725 The Shortest Path in Nya Graph-【SPFA最短路】

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4725 题意:有N个点和N层..一层有X个点(0<=X<=N).两邻两层间有一条路花费C.还有M ...

  4. unity3d 学习笔记&lowbar;&lowbar;&lowbar;&lowbar;&lowbar;Native2d 刚体、冲击、联合使用

    Mass Mass of the rigidbody. Linear Drag Drag coefficient affecting positional movement. Angular Drag ...

  5. Ubunto使用 码云 创建项目

    1.安装 git sudo apt-get install git配置 git 文件 git config --global user.name "你的用户名" git confi ...

  6. oracle入坑日记&lt&semi;六&gt&semi;自增列创建和清除(含序列和触发器的基础用法)

    0   前言 用过 SQLserver 和 MySQL 的自增列(auto_increment),然而 Oracle 在建表设置列时却没有自增列. 查阅资料后发现 Oracle 的自增列需要手动编写. ...

  7. Centos7下使用yum安装lnmp zabbix3&period;2

    1:配置epel-release mysql zabbix 源 配置epel源 wget http://mirrors.aliyun.com/epel/epel-release-latest-7.no ...

  8. 安装oracle环境变量path的值大于1023的解决办法

    介绍解决安装oracle安装问题 方法/步骤     安装oracle 10g时遇到环境变量path的值超过1023字符,无法设置该值,如图: ‍ 安装oracle 10g时遇到环境变量path的值超 ...

  9. 在mysql存储过程中拼接sql解决in的字段类型不匹配问题

    一个朋友问我一个问题,他写了一个存储过程,并在存储过程调用了另外一个自定义的函数.该函数返回类型如'1,34,56'的字符串,并将该字符串作为存储过程的select的id条件. begin DECLA ...

  10. PHP程序员应该知道的15个库

    最几年,PHP已经成为最受欢迎的一种有效服务器端编程语言.据2013年发布的一份调查报告显示,PHP语言已经被安装在全球超过2.4亿个网站以及210万台Web服务器之上.PHP代表超文本预处理器,它主 ...