博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
裂变问题
阅读量:7220 次
发布时间:2019-06-29

本文共 726 字,大约阅读时间需要 2 分钟。

问题:一个瓶子放一个细菌,细菌一分钟裂变一次,1变2,60分钟后瓶子就满了,问给这个瓶子里放两个细菌裂变后要多久瓶子会满?

首先我们用猜的,不是30就是59,不可能是其他的答案,如果让我从30和59中选一个答案,那我肯定选59,不可能30吧,会这么弱智吗,没错答案就是59。

现在我们用数学公式来证明。根据题目我们知道瓶子装满时细菌的数量为2^60,假设N分钟后瓶子满,那么我们得到2*2^N=2^60,1+N=60,从而得出N=59。

是的就这么简单,还有更简单的呢。1个细菌裂变成2个细菌用时1分钟,1个细菌裂变让瓶子满的时间是60分钟,那么2个细菌让瓶子满的时间=1个细菌裂变让瓶子满的时间-1个细菌裂变成2个细菌的时间=60-1=59。

从上面的那个等式我们可以得出:N个细菌让瓶子满的时间=1个细菌裂变让瓶子满的时间-1个细菌裂变成N个细菌的时间

有了这个等式我们就很容易知道往瓶子里面放N个细菌多就会满了,4个细菌的时间为58,8个细菌的时间是57,16个细菌的时间,同样的,5,6,7的时间都是58分钟,因为8个细菌刚好要57分钟,所以我们很容易知道往瓶子里任意放1~2^N个细菌让瓶子满的时间为60-logN。

从上面那个等式可以看出:用时和细菌是1变2,还是1变3,或是1变N,没有多大关系,有关系的是1个细菌变成N个细菌所需的时间。所以上面那个等式适用于裂变是1变N的情况。

问题扩展:题目基本不改,只是将细菌1变2改成1个细菌生出2个细菌,就变成了鸡生蛋的问题了,其实就是1变3吗

我是天王盖地虎的分割线                                                             

 

 

参考:http://www.cnblogs.com/hlxs/archive/2012/03/31/2426958.html

你可能感兴趣的文章
php中的move_uploaded_file
查看>>
[游戏学习27] MFC 匀速运动
查看>>
抓包工具 - Fiddler(详细介绍)
查看>>
安卓机在按HOME键时,UNITY触发的APPLICATION_PAUSE事件
查看>>
人人都是 DBA(IV)SQL Server 内存管理
查看>>
离散数学拾趣(二):逻辑难题
查看>>
Efficient C#:为什么要把泛型作为返回值
查看>>
清华大学刘知远:在深度学习时代用HowNet搞事情
查看>>
[LeetCode] Different Ways to Add Parentheses 添加括号的不同方式
查看>>
Atom 检测php错误扩展linter-php
查看>>
ubuntu下msmtp+mutt的安装和配置
查看>>
第 13 章 sar - System Activity Reporter
查看>>
第 70 章 Oracle 监控
查看>>
vlc相关学习资料汇总及零散技术总结
查看>>
Intellij IDEA 14使用maven3.3.3 问题
查看>>
Java 进制转换
查看>>
Code: UrlBuilder class in JavaScript
查看>>
[LintCode] Best Time to Buy and Sell Stock 买卖股票的最佳时间
查看>>
Android中文合集(5)(126+8篇)(chm格式)
查看>>
解读|百分点凭啥能推出「中国首个行业AI决策系统」
查看>>