烧绳子的问题,如果只用离散的方法是不可能计时出1/4小时的。只能用连续的、无穷操作的方法(如9楼所言)。
离散的烧绳子问题是这样的:
有
很多绳子,每根绳子都不均匀,但有一点是确定的:每根绳子,如果从一端点燃,那么要花费恰好1个小时就能把它烧完。
那么,用这些绳子,在有限次操作内,能够计时出的时间有哪些?
1. 首先,0小时是可以计出来的。
2. 如果a小时、b小时都可以计出来,并且|a-b|<1,那么(a+b+1)/2小时也可以计出来。(方法是这样的:从0时刻同时开始计a小时、b小时的操作。取新一根绳子,a小时的时候点燃一端,b小时的时候点燃另一端,当它烧完,就是(a+b+1)/2小时。)
只烧绳子一端,意味着从a小时得到a+1小时,其实这也可以用操作2来完成。
记S(0) = {0},S(n+1) = {(a+b+1)/2 | a∈S(n), b∈S(n), |a-b|<1},S = ∪_{n=0}^∞ S(n),那么S就是所有能够烧出的小时数的集合。
包括:0,1/2,3/4,7/8,15/16,……,1,9/8,……,2,2+1/1024,……
比0大的,能够烧出的最小时间是1/2;
比1大的,能够烧出的最小时间是9/8,也就是1+(1/2)^3;
比2大的,能够烧出的最小时间是2+(1/2)^10;
而比3大的,能够烧出的最小时间……它只比3大了很小很小的一丁点,还不到3+(1/2)^(2↑↑↑↑↑↑↑↑↑16)呢。
这整个问题,可以用一个模型概括。Fusible number。
https://arxiv.org/pdf/1202.5614.pdf