燃烧木棍确定时间的面试题

  • A+
所属分类:编程开发

微博上看到的一道面试题,思维类的题目。

题目

一屋子的长短粗细不同密度不均的木棍儿,每根烧完都恰好需要1个小时。你有打火机,让你在屋子里想办法45分钟后准时出来,该怎么办。

点击查看答案

分析

要实现45分钟,就需要在60分钟里面做文章,可以看出45和60的最大公约数是15。而15正好是60的1/2又1/2
因此,最先想到的就是,把木棍折半再折半(15分钟),再加上一根折半的木棍(30分钟),拼接上去烧完
但很快我们就发现,题目里说,长短粗细不同密度不均。最关键的是密度不均,这就意味着不能折半。不折半,还有别的办法么?当然有,那就是两头同时烧
想到这个点之后,再稍微拼凑下,答案就出来了。

答案

  1. 拿一根木头A和B,同时点燃A的两端,和B的一端。
  2. 在A燃尽的时候,点燃B的另一端。

A燃尽的时候,过了30分钟,B刚好烧掉了一半。此时再点燃B的另一端,就正好烧剩下的15分钟。

问题

为什么密度不均,两头同时烧时间还是会折半?

题目中说,每一根烧完是1小时(从一头开始烧)。在木棍是规则圆柱体的情况下,点燃一端,燃烧木头的速度是恒定的,排除其它因素,只和质量以及燃烧面积有关。因此,两端同时点燃,燃烧面积*2。时间也就减半了.

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: