算法设计课程的,老师开讲的一个小题:
1)给你一个无限容积的罐子和无限个球,球从1开始编号。
在差1分钟到1点时:将标号为1~10的10个球放进罐子,然后取出10号球。
在差1/2分钟到1点时:将标号为11~20的10个球放进罐子,然后取出20号球。
在差1/4分钟到1点时:将标号为21~30的10个球放进罐子,然后取出30号球...
就这样进行下去,在无限靠近1点时,罐子中有都少个球?
2)给你一个无限容积的罐子和无限个球,球从1开始编号。
在差1分钟到1点时:将标号为1~10的10个球放进罐子,然后取出1号球。
在差1/2分钟到1点时:将标号为11~20的10个球放进罐子,然后取出2号球。
在差1/4分钟到1点时:将标号为21~30的10个球放进罐子,然后取出3号球...
就这样进行下去,在无限靠近1点时,罐子中有都少个球?
第一题的答案是无数个小球,n趋近于无穷大的时候,每次取球的编号为10n,罐子里还有9n个球。
第二题的答案是0个小球,n趋近于无穷大,第n个球可在1/2(n+1)次方的时候被取出。所以,所有的球都会被取出,最终结果会是0。
从数学的角度,这是一个0和∞的问题,从算法的角度,每次取球的编号不一样,造成了最后的结果不一样。∞的符号看起来像是2个0组成的。
附上史蒂文·霍金《时间简史》中的一段话:
在第一类弗里德曼宇宙模型中,第四维—时间,正如空间一样,在范围上是有限的。它如一根具有两个端点或边界的线。因此时间具有终结,而且它也有一个开端。事实上,在宇宙具有我们观测到的物质总量的情形下,由爱因斯坦方程得出的所有解中,都有一个非常重要的特征:在过去某一时刻(大约137亿年以前)相邻星系之间的距离必须为零。换言之,整个宇宙被挤压在零尺度的单独一点,就像一个半径为零的球。那时,宇宙的密度和时空曲率都为无限大。它是我们称做大爆炸的时刻。