程序员要懂的五道逻辑思维题,很有趣!

点击上方蓝字 关注我,涨知识

01

问题一

1.1

问题描述

从1到100排列成一排,总共100个数,每一轮抽走奇数位置的数,问最后剩下哪个数?

1.2

分析

先思考小规模的问题,例如从1到10,模拟整个抽取过程如下。

第1轮抽取完剩下所有偶数,如果都除以2,就变成了1到5的小问题;第2轮抽取后,还是剩下偶数,再除以2,变成1到2。

所以最后剩下的数如果因式分解,就是包含因数2最多的数。那么还原上面的问题,1到100最后剩下的数是64。

02

问题二

2.1

问题描述

编号为1~100的灯,初始时都开着。

现进行如下操作:

  • 编号为1的倍数的灯反方向拨一次开关。

  • 编号为2的倍数的灯反方向拨一次开关。

  • ...

  • 编号为100的倍数的灯反方向拨一次开关。

问最后哪些灯是关闭的状态?

2.2

分析

轮次数如果为灯编号的因数,那就需要操作一次开关。
而且还能得出:

  • 操作偶数次开关,状态不变

  • 操作奇数次开关,状态改变

所以问题就转化为判断每个灯的编号有奇数个还是偶数个因数。

例如
可以看出因数是对称的,如果2个因数不一样,肯定有偶数个因数。
只有能开平方的数才有奇数个因数,比如
所以最后关闭的灯编号为1,4,9,16,25,36,49,64,81。

03

问题三

3.1

问题描述

假设有8个球,其中有一个球偏重。给你一个天平,问最少要称几次就能找出这个偏重的球?

3.2

分析

天平不能称出具体的重量,只能比较,所以每一次两边的球数量要一样多。
很容易就可以想到用2分的方法,先4+4,再2+2,再1+1,总共3次就可以找出来。
那有没有更少次数的方法呢?
如果第一次称3+3,有2种情况如下:

  • 平,剩下2个球,再称一次就能找出来

  • 不平,在重的3个球中,选择2个球1+1称一次,也能一次找出来

还能更少吗?答案是不能了,因为还剩下2+2或者1+1称第一次,都无法一次找出来,所以最少要两次就能找出偏重的球。

04

问题四

4.1

问题描述

两个桶分别装了一样多的红色和蓝色的颜料。先从蓝色桶里舀一杯倒入红色中,搅拌不均匀。再从有蓝色的红色桶中舀一杯倒入蓝色桶里,问两个桶中蓝:红与红:蓝的大小关系?

4.2

分析

第二步舀的时候,因为不均匀,所以无法知道具体有多少比例的红色和蓝色,可以换一个角度来考虑。
因为是用的相同大小的杯子,所以两次操作后,两边的桶里的总体颜色是一样多的。假设红色里面混了一部分蓝色的颜料体积为X升,那么就有X升的红色颜料到了蓝色的桶里,所以两边的比例是一样的。

05

问题五

5.1

问题描述

有无限多的水,给你两个杯子,容量分别为5升和6升,问如何量出3升水?

5.2

分析

杯子没有具体的刻度,所以肯定要装满才有意义。两个杯子相差1升,所以要利用之间的差来量出其它的容量。
步骤如下:

  • 将6升装满,再倒入5升中,剩下1升;将这1升转移到5升容量的杯子里

  • 再将6升装满,再倒入5升中,剩下2升;将这2升转移到5升容量的杯子里

  • 继续将6升装满,再倒入5升中,剩下3升

关注我,涨知识

原创不易,感谢分享

转发,点赞,在看

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值