一只蚂蚁爬竹竿解答,每上一节需要9秒,从第一节爬到第五节需要多少秒

看到百度的面试题蚂蚁爬干觉嘚听好玩的就写了一个,请高手指点

有一根27厘米的细木杆在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细鈈能同时通过一只蚂蚁。开始时蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头但不会后退。当任意两只蚂蚁碰头时两只螞蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间

我的出嘚最大时间为24妙。这道题我用的递归写的代码如下

}

很多蚂蚁在一根细杆上匀速爬行碰到别的蚂蚁就立即掉头,碰到末端就往下掉

现在知道所有的蚂蚁在不发生掉头的情况下从一端爬到另一端需要5分钟,问如果杆上有無数只蚂蚁全部掉落需要多长时间?

关键在于蚂蚁碰面掉头,继续爬行这个过程。凝视它观察这个过程的哲学涵义,思索它咀嚼它,你会被这个过程所蕴含的丰富意义所折服瞧,所有的蚂蚁都长得一副德行你根本认不出谁是谁,这个碰面掉头走的过程跟直接擦肩而过没有任何区别。

答案就是取决于最长时间掉落的那只,显然就是5分钟。

}

我要回帖

更多关于 一只蚂蚁爬竹竿解答 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信