前言:学会编程,不仅可以提高一个人的智商水平,锻炼人的思维能力,还可以成为一个人谋生的技能。
弄懂以下10道锻炼编程思维的题,可以快速提高您的思维能力,快速上手编程。

一、有口井7米深,有一个蜗牛从井底往上爬,白天爬3米,晚上下坠2米,问:蜗牛几天可以从井里爬出来?


答案:蜗牛5天可以从井里爬出来。

第一天白天向上爬3米,晚上下坠2米,累计上升高度为1米,列式为3-2=1;

第二天白天向上爬3米,晚上下坠2米,累计上升高度为2米,列示为1+3-2=2;

第三天白天向上爬3米,晚上下坠2米,累计上升高度为3米,列示为2+3-2=3;

第四天白天向上爬3米,晚上下坠2米,累计上升高度为4米,列示为3+3-2=4;

第五天白天向上爬3米,4+3=7,就可以爬出井口了。

这种方法是比较苯的方法,还有一种比较快速聪明的解法:
设需要x天可以爬出7米深的井,那么根据题意可以得出:
(3-2)*(X-1)+3=7,解出方程式可得X=5。

3-2为每天蜗牛的实际上升高度,第X天白天蜗牛爬升3米即可爬出井口,那么X-1表示在第X天之前的累计爬升高度。

二、一毛钱一个桃,三个桃核换一个桃,拿一块钱能吃几个桃?


答案:
1块钱买10个桃,剩10个核;

9个核换3个桃,加上余下的一个,剩4个核;

3个核换1个桃,加上余下的一个,剩2个核;

赊1个桃,吃完后剩3个核都给卖桃的,顶赊的那个。

加起来,1块钱能吃15个桃。

三、小王、小张、小赵三个人是好朋友,他们中间其中一个人下海经商,一个人考上了重点大学,一个人参军了。此外他们还知道以下条件:小赵的年龄比士兵的大;大学生的年龄比小张小;小王的年龄和大学生的年龄不一样。请推出这三个人中谁是商人?谁是大学生?谁是士兵?

小张是商人,小赵是大学生,小王是士兵。

解题思路:假设小赵是士兵,那么就与题目中"小赵的年龄比士兵的大"这一条件矛盾了,因此,小赵不是士兵;假设小张是大学生,那就与题目中"大学生的年龄比小张小"矛盾了,因此,小张不是大学生;假设小王是大学生,那么,就与题目中"小王的年龄和大学生的年龄不一样"这一条件矛盾了,因此,小王也不是大学生。所以,小赵是大学生。由条件小赵的年龄比士兵的大,大学生的年龄比小张小得出小王是士兵,小张是商人。

四、姐姐上街买菜回来后,就随手把手里的一些零钱放在了抽屉里,可是,等姐姐下午再去拿钱买菜的时候发现抽屉里的零钱没有了,于是,她就把三个妹妹叫来,问她们是不是拿了抽屉里的零钱。

老二说:“我拿了,中午去买零食了。”

老三说:“我看到老二拿了。”

小妹说:“总之,我与老三都没有拿。”

这三个人中有一个人在说谎,那么到底谁在说谎?谁把零钱拿走了?

小妹说谎,老二和老三都拿了一部分。

假设老二说谎的话,那么老三也说谎,与题意不符;

假设老三说谎,那么老二也说谎,与题意不符;

那么,说谎的肯定是小妹了,只有老二和老三都拿零钱了才符合题意。

五、现有2个空水壶,容积分别为5升和6升,如何只用这2个水壶取得3升的水?(不能借助别的容器)


6升水壶a,5升水壶b

将a装满,倒入b中,a剩余1升水;

倒空b,a中剩余的水倒入b中,再将a装满,倒入b中,a剩余2升水;

倒空b,a中剩余的水倒入b中,再将a装满,倒入b中,a剩余3升水。

六、U2合唱团在17分钟 内得赶到演唱会场,途中必需跨过一座桥,四个人从桥的同一端出发,你得帮助他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有两人一起 过桥,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去,来回桥两端。手电筒是不能用丢的方式来传递的。四个人的步行速度各不同,若两人同行则 以较慢者的速度为准。Bono需花1分钟过桥,Edge需花2分钟过桥,Adam需花5分钟过桥,Larry需花10分钟过桥。他们要如何在17分钟内过 桥呢?


2+1先过,用了2分钟;

然后1回来送手电筒,用了1分钟;

5+10再过,用了10分钟;

2回来送手电筒,用了2分钟;

2+1过去,用了2分钟;

总共用了2+1+10+2+2=17分钟。

七、有7克、2克砝码各一个,天平一只,如何只用这些物品称三次,将140克的盐分成50、90克各一份?


解法一:

①用天平将盐分成70g两份,即140 ->70 + 70

②用天平将其中一份70g的盐分成35g两份,即70 ->35 + 35

③把两个砝码放在天平两边,将35g的盐分成20克和15克,即35 + 2 + 7 ->(20 + 2) + (15 + 7)

将得到的20g盐和最开始的70g盐放在一起即得到90g的盐,其余的盐放在一起就是50g。即

90 = 20 + 70

50 = 15 + 35

八、有12个鸡蛋,其中有1个是坏的(重量与其余鸡蛋不同),现要求用天平称三次,称出哪个鸡蛋是坏的!


把这12个鸡蛋分成3组(1,2,3,4)、(5,6,7,8)和(9,10,11,12)。

首先称(1,2,3,4)和(5,6,7,8),称的结果有如下几种可能:

▼ 第一种可能:(1,2,3,4)=(5,6,7,8)【第一次称重】

说明1~8的鸡蛋都是好鸡蛋。此时,再接着称(6,7,8)和(9,10,11)。【第二次称重】

此时会存在以下三种可能性:

1)如果(6,7,8)=(9,10,11),说明坏鸡蛋是12。在这种情况下,只需要称2次就能找出坏鸡蛋。

2)如果(6,7,8)>(9,10,11),说明坏鸡蛋在(9,10,11)中,同时可以说明坏鸡蛋一定比好鸡蛋轻。接着称9和10。如果9=10,则说明11为坏鸡蛋;否则,轻的为坏鸡蛋。【第三次称重】

3)如果(6,7,8)<(9,10,11),与2)使用相同的方法称3次就可以得到坏鸡蛋。【第三次称重】

▼ 第二种可能:(1,2,3,4)≠(5,6,7,8)【第一次称重】

在这种情况下,说明坏鸡蛋一定在(1,2,3,4,5,6,7,8)中。

对于(1,2,3,4)>(5,6,7,8)和(1,2,3,4)<(5,6,7,8)两种情况,分析方法是类似的。

在这里以(1,2,3,4)>(5,6,7,8)为例进行分析:

此时接着称重(1,2,5)和(3,4,6)【第二次称重】

1)如果(1,2,5)=(3,4,6),说明坏鸡蛋一定在(7,8)中,而且坏鸡蛋一定比好鸡蛋轻。

接着称重(7,8),轻的就是坏鸡蛋。【第三次称重】

2)如果(1,2,5)>(3,4,6),坏鸡蛋一定在(1,2,3,4,5,6)中,再继续称(2,3,5)和(1,4,7)。【第三次称重】

① 如果(2,3,5)=(1,4,7),说明6是坏鸡蛋。

② 如果(2,3,5)>(1,4,7),

假如坏鸡蛋重,此时坏鸡蛋为(1,2,3,4)∩(1,2,5)∩(2,3,5)=2。

假如坏鸡蛋轻,此时坏鸡蛋为(5,6,7,8)∩(1,4,7)∩(3,4,6)=空集。说明坏鸡蛋一定更重,且坏鸡蛋为2。

③ 如果(2,3,5)<(1,4,7),与(2,3,5)>(1,4,7)分析方法类似。

3)如果(1,2,5)<(3,4,6),分析方法与(1,2,5)>(3,4,6)的情况类似。

九、烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一小时十五分钟呢? (微软的笔试题)


半小时:两头一起烧

一小时十五分钟:先取两根绳子,一根从一端烧,一根从两端烧,两端烧的绳子烧完时,将一端烧的绳子熄灭。这样得到半个小时的记时。将刚才熄灭的绳子两端点燃,燃尽的时间即为15分钟。再取一条两头一起烧,加起来就是一小时十五分钟。

十、2n个人排队进电影院,票价是50元。在这2n个人当中,其中n个人只有50元,另外n个人只有100元面钞。愚蠢的电影院开始卖票时1分钱也没有。问:有多少种排队方法使得每当一个拥有100元面钞的人买票时,电影院都有50元找钱?


本题可用递归算法,但时间复杂度为2的n次方,也可以用动态规划法,时间复杂度为n的平方,实现起来相对要简单得多,但最方便的就是直接运用公式:排队的种数=(2n)!/[n!(n+1)!]。

如果不考虑电影院能否找钱,那么一共有(2n)!/[n!n!]种排队方法(即从2n个人中取出n个人的组合数)

对于每一种排队方法,如果他会导致电影院无法找钱,则称为不合格的,这种排队方法有(2n)!/[(n-1)!(n+1)!]种(从2n个人中取出n-1个人的组合数)

所以合格的排队种数就是(2n)!/[n!n!]- (2n)!/[(n-1)!(n+1)!] =(2n)!/[n!(n+1)!]。

计算机新生必看:10道逻辑思维训练题,做完让你成为大佬!!(附带答案)相关推荐

  1. php锻炼逻辑的问题,锻炼逻辑思维能力的:5道高难度逻辑思维训练题

    原标题:锻炼逻辑思维能力的:5道高难度逻辑思维训练题 下面给大家精选了5道逻辑思维训练题,每一道都会用到一项专门的逻辑思维方法.很多人一读题目就头疼,你能做对几道呢? (逻辑思维能力是我们学习.工作. ...

  2. 大学计算机思维编程题及答案,学编程必看:10道逻辑思维测试题(附答案)

    摘要:学会编程,不仅可以成为你谋生的技能,还能大大提高你的逻辑思维能力,当你面对人生各种困境时,你才会快速找到解决办法. 学会编程,不仅可以成为你谋生的技能,还能大大提高你的逻辑思维能力.当你面对人生 ...

  3. 大一大学计算机考试难吗,新生必看!大一期间必考的3个证书,不考后悔,越拖越难考!...

    原标题:新生必看!大一期间必考的3个证书,不考后悔,越拖越难考! 9月开学季,大学新生也陆陆续续来到了学校报到,开启自己美好的大学生活!但是!小编要提醒大家的是千万不要相信高中老师说的那句:" ...

  4. 应聘必看——75道逻辑题答案

    应聘必看--75道逻辑题答案 [1]    假设有一个池塘,里面有无穷多的水.现有2个空水壶,容积分别为5升和6升.问题是如何只用这2个水壶从池塘里取得3升的水. 由满6向空5倒,剩1升,把这1升倒5 ...

  5. 计算机中文件访问时间是什么情况,【反计算机取证必看】Windows系统中文件时间属性的变化及影响因素.pdf...

    [反计算机取证必看]Windows系统中文件时间属性的变化及影响因素.pdf ·技术交流· Windows系统中文件时间属性的变化及影响因素 滕冲1,方靖然2,张国臣3(1.中国人民公安大学,北京 3 ...

  6. 用计算机语法表示谁在说谎,2019考研管理类联考逻辑思维训练题:假设法(2)

    现在已是4月底了,基础复习已紧张进行中,中公考研小编整理分享整理了一篇关于"2019考研管理类联考逻辑思维训练题:假设法(2)"文章,供2019备考的同学们参考. 第一章 假设法 ...

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

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

  8. 【转载】经典10道c/c++语言经典笔试题(含全部所有参考答案)

    经典10道c/c++语言经典笔试题(含全部所有参考答案) 1. 下面这段代码的输出是多少(在32位机上). char *p; char *q[20]; char *m[20][20]; int (*n ...

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

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

最新文章

  1. 解决:sql中将日期字符串当做日期类型处理
  2. Android短信的发送和广播接收者实现短信的监听
  3. DEDECMS站点内容自动更新到新浪微博的方法
  4. matlab中ode45如何设置,matlab 中ode45的源代码如何看懂
  5. 配置管理-SVN使用指南-Linux
  6. 盘点优秀程序员的六大特征
  7. c语言如何一直变换颜色,【图片】(原创)用纯C变了个变色输出字符的程序。。。【c语言吧】_百度贴吧...
  8. webApp禁止用户保存图像
  9. 计算机网络技术之网络系统设计与组建工程
  10. ffmpeg之YUV420P转RGB24
  11. qt 分辨率问题 安卓_Qt for Android dp转换
  12. CSkin相当优秀的C#/.Net Winform界面库
  13. Robocup 仿真2D 学习笔记(一) ubuntu16.04 搭建 robocup 仿真2D环境
  14. 股票交易手续费怎么计算
  15. 洛谷P2258 子矩阵[2017年5月计划 清北学堂51精英班Day1]
  16. 视频教程-PR教程-Premiere 2020影视剪辑实战精讲-其他
  17. C++中不能重载的运算符
  18. 惠云转债上市价格预测
  19. 初步认识地图布局和指北针 - SuperMap iDesktop 8C
  20. php中的isset函数

热门文章

  1. UART串口通信(回环测试)
  2. 2022-4-10 Leetcode 219.存在重复元素
  3. 在 windows 下安装和简单配置 trac 0.12
  4. C# office word转换为pdf
  5. 今天发现有道桌面词典打开屏幕取词功能时,会导致mremote,visionapp等软件僵死!!!
  6. java component类_类 java.awt.Component 的使用 (Java Platform SE 6)
  7. python 如何给文件改名
  8. bios sgx需要开启吗_华硕主板BIOS解读:新手装机必备篇(必须收藏)
  9. 我在神策做研发 | 嘿!这里是合肥研发中心!
  10. ubuntu 14.04 apache php mysql_Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法