当前位置: 首页 > news >正文

有关“树上剩余几只鸟”的问题的思考及解答

有一次,我被问到了一个貌似脑筋急转弯的问题:“树上有五只鸟,猎人开枪打死了一只,请问树上还剩下几只鸟?”

对于这个问题,想必大家都有被问到过,或者是在什么地方看到过。这个问题实际上并没有标准答案,它考察的是一个人思维的发散程度。对于自己想到的每个答案,只要能够找到让人信服的理由就可以了。

我认为,这个问题的答案可以是大于或等于0的任意一个整数,具体原因如下代码所示:

/**********************************************************************
* 版权所有 (C)2015, Zhou Zhaoxiong。
*
* 文件名称:AnswersOfBirds.c
* 文件标识:无
* 内容摘要:有关“树上剩余几只鸟”的问题的解答
* 其它说明:无
* 当前版本:V1.0
* 作    者:Zhou Zhaoxiong
* 完成日期:20160108
*
**********************************************************************/
#include <stdio.h>

// 重定义数据类型
typedef unsigned int        UINT32;
typedef signed   int        INT32;

/**********************************************************************
* 功能描述:主函数
* 输入参数:无
* 输出参数:无
* 返 回 值:无
* 其它说明:无
* 修改日期        版本号      修改人              修改内容
* ---------------------------------------------------------------
* 20160108        V1.0     Zhou Zhaoxiong          创建
***********************************************************************/
INT32 main()
{
    UINT32 iBirdsLeft = 0;      // 用于表示树上剩余的鸟的数量

    // 输入想要的答案
    printf("请输入你想要的答案(可以输入任意一个大于或等于0的整数): \n");
    scanf("%d", &iBirdsLeft);

    // 根据输入的答案找到给出此答案的理由
    switch (iBirdsLeft)
    {
        case 0:
        {
            printf("打死其中一只鸟之后, 这只被打死的鸟掉到了地上, 其他四只鸟因为受到了惊吓, 所以也飞走了, 树上一只鸟也没有了!\n");
            break;
        }

        case 1:
        {
            printf("打死其中一只鸟之后, 这只被打死的鸟还挂在树上, 其他四只鸟因为受到了惊吓, 所以也飞走了, 树上剩下了这只被打死的鸟!\n");
            break;
        }

        case 2:
        {
            printf("打死其中一只鸟之后, 这只被打死的鸟还挂在树上, 其他四只鸟中有一只是死者的伴侣, 它一直守护在死者的身边, 而另外三只鸟飞走了, 因此树上剩下了两只鸟!\n");
            break;
        }

        case 3:
        {
            printf("打死其中一只鸟之后, 这只被打死的鸟还挂在树上, 其他四只鸟中有两只是死者的父母, 它们一直守护在死者的身边, 而另外两只鸟飞走了, 因此树上剩下了三只鸟!\n");
            break;
        }

        case 4:
        {
            printf("打死其中一只鸟之后, 这只被打死的鸟掉到了地上, 其他四只鸟一时之间不知道发生了什么事, 都留在原地不动, 因此树上剩下了四只鸟!\n");
            break;
        }

        case 5:
        {
            printf("打死其中一只鸟之后, 这只被打死的鸟还挂在树上, 其他四只鸟分别是死者的父母和两个子女, 它们一直守护在死者的身边, 因此树上剩下了五只鸟!\n");
            break;
        }

        default:   // 输入6或更大的数
        {
            printf("被打死的鸟属于一个稀有的品种, 猎人因此受到了惩罚, 大家也开始保护环境, 这使得树上的鸟儿越来越多了!\n");
            break;
        }
    }


    return 0;              
}

以上只是我给出的一组解答,相信大家也会给出自己心目中的答案。总的说来,从不同的角度来看待这个问题,就会给出不同的答案,这也正如一句诗所云:“横看成岭侧成峰,远近高低各不同”。

相关文章:

  • 可以放在页面任何地方de 天气插件
  • yum安装指定版本的软件包的方法
  • 探秘Spring AOP (三) Spring AOP 使用讲解 2
  • 基于java config的springSecurity(四)--启用全局方法安全
  • 黑客预警:搞瘫北美互联网?规模更大的僵尸网络现身
  • 一个关于ConfigurationManager.GetSecion方法的小问题
  • 基础大概回顾
  • 重新学习Mysql数据库3:Mysql存储引擎与数据存储原理
  • P1679 神奇的四次方数
  • nginx服务企业应用
  • Hadoop起源
  • HDU2255 奔小康赚大钱 【KM算法】
  • RxJava简介与入门(一)
  • 手把手教你用1行命令实现人脸识别
  • 【编程之美】字符串移位包含的问题(续)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • ESLint简单操作
  • PAT A1050
  • Python进阶细节
  • Selenium实战教程系列(二)---元素定位
  • 从setTimeout-setInterval看JS线程
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端性能优化——回流与重绘
  • 什么是Javascript函数节流?
  • 再次简单明了总结flex布局,一看就懂...
  • 智能合约开发环境搭建及Hello World合约
  • elasticsearch-head插件安装
  • ​2020 年大前端技术趋势解读
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (4) PIVOT 和 UPIVOT 的使用
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (C++17) std算法之执行策略 execution
  • (八)Flask之app.route装饰器函数的参数
  • (二)Eureka服务搭建,服务注册,服务发现
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)大型网站架构演变和知识体系
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .“空心村”成因分析及解决对策122344
  • .bat文件调用java类的main方法
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Framework .NET Core与 .NET 的区别
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net MVC + EF搭建学生管理系统
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 事件模型教程(二)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [android] 请求码和结果码的作用