面试题 求助高手请进!!!有一种小虫,每隔两秒钟分裂一次。分裂后的两只新的小虫经过两秒钟后又会分裂。如果最
面试题 求助 高手请进!!!
有一种小虫,每隔两秒钟分裂一次。分裂后的两只新的小虫经过两秒钟后又会分裂。如果最
初某瓶中只有一只小虫,那么两秒后变两只,再过两秒后就变四只……两分钟后,正好满满
一瓶小虫。现在这个瓶内最初放入两只这样的小虫。
问:经过多少时间后,正巧也是满满的一瓶?
那位高手帮忙给个解题思路和Java解题算法代码。
[解决办法]
2分钟 120秒
现在最初2只,也就是放入1只 2秒中之后的情况。也就是120 - 2,118秒
。
[解决办法]
虫子的数目是1-2-4-8-16-...这样变化的,第一次是从0秒开始计时,第二次相当于从第2秒开始计时,时间应该是118,这是我的想法,仅作参考
[解决办法]
[解决办法]楼上正解,这不就是个脑经急转弯啊?
[解决办法][解决办法]一只变成两只的时候话了两秒钟,那么从两只开始的时候就减去开始的两秒不就好了啊!正解就是118秒!
[解决办法]public static void main(String args[]) {
get(2,0);
}
public static void get(int starNum,int second){
if(second<120){
if(second%2==0){
starNum += starNum*2;
second += 2;
System.out.println("第"+second+"秒,有"+starNum+"条虫子!");
get(starNum,second);
}
}
}
[解决办法][解决办法]用BigDecimal呗。
[解决办法]楼上正解!
[解决办法]学习了 楼主正解
[解决办法]有意思,逆向思维
[解决办法][Quote=引用:]
引用:
2分钟 120秒
现在最初2只,也就是放入1只 2秒中之后的情况。也就是120 - 2,118秒
。
误解,这个起码没考虑起初那1只虫子,以及它繁衍的虫子,所占的空间
[/Quote]
这题是说1个分裂为2个,不是说1个生下了2个,所以一秒后总数是2个而不是3个.
[解决办法]118秒
[解决办法]现在最初2只,也就是放入1只 2秒中之后的情况。也就是120 - 2,118秒
[解决办法][解决办法][解决办法]其实这个问题非常的简单,我面试的时候也被问到了,一只虫子两分钟能分裂满,120秒结束,我们不必算 两个虫子一直分裂下去,只需要从两只虫子分裂算起,所以 答案就是减少了第一次的分裂时间,所以是118秒,
[解决办法][解决办法]1条虫子2分钟能够把瓶子分裂满了,每两秒分裂一次,所以一共分裂了60此。且每次的数量都是*2,故整个瓶子的最大容量是 1*2^60 ,现在是初始两个虫子,所以就是一道算术题 1*2^60 = 2*2^X 显然X = 59 ,所以也就是59*2 = 118秒了。
[解决办法]就是少一次分裂时间啊- -120-2就出来了。。。
[解决办法]...这个需要写程序吗...
[解决办法]简单,是两分钟减两秒
[解决办法]智力题......
[解决办法]面试题伤不起。。。
[解决办法]托托的脑筋急转弯。。。。
[解决办法]哪个公司这么弱智?
[解决办法]貌似以前看到过
[解决办法]貌似以前看到过类似的
[解决办法]楼主想说的意思不是分裂吧
[解决办法]在118秒的时候 一只虫子分裂出来的虫子占了一半的空间 两只就是整瓶喽
[解决办法]60s
[解决办法]这就是java面试的试题吗
[解决办法]这个题目不难吧?
两只虫子的情况,只是第0秒就已经一只虫子的第2秒时的数量,都是按2的N次幂的数量级增长,那么到120s-2s时不就是一只虫子120s时的数量了吗?
还是兔子问题经典
[解决办法]118秒正解
[解决办法]不是118吧,少了第一只装不满啊。。还得是120.。。
[解决办法]直接以第一次的2秒为起点计时
[解决办法]118秒 不会错的!
[解决办法]118是怎么算出来的? 我觉得应该是61...
[解决办法]118是正解