首页 > 代码库 > 一个简单的数学小魔术
一个简单的数学小魔术
在一张纸上并排画 11 个小方格。叫你的好朋友背对着你(确保你看不到他在纸上写什么),在前两个方格中随便填两个 1 到 10 之间的数。从第三个方格开始,在每个方格里填入前两个方格里的数之和。让你的朋友一直算出第 10 个方格里的数。假如你的朋友一开始填入方格的数是 7 和 3 ,那么前 10 个方格里的数应该是
7 3 10 13 23 36 59 95 154 249
现在,叫你的朋友报出第 10 个方格里的数,你只需要在计算器上按几个键,便能说出第 11 个方格里的数应该是多少。你的朋友会非常惊奇地发现,把第 11 个方格里的数计算出来,所得的结果与你的预测一模一样!这就奇怪了,在不知道头两个数是多少的情况下,只知道第 10 个数的大小,不知道第 9 个数的大小,怎么能猜对第 11 个数的值呢?
魔术揭秘:只需要除以 0.618
其实,仅凭借第 10 个数来推测第 11 个数的方法非常简单,你需要做的仅仅是把第 10 个数除以 0.618,得到的结果四舍五入一下就是第 11 个数了。在上面的例子中,由于 249÷0.618 = 402.913.. ≈ 403,因此你可以胸有成竹地断定,第 11 个数就是 403。而事实上,154 与 249 相加真的就等于 403。把头两个方格里的数换一换,结论依然成立:
2 9 11 20 31 52 82 133 215 348
可以看到,第 11 个数应该为 215+348 = 563,而 348 除以 0.618 就等于 563.107..,与实际结果惊人地吻合。这究竟是怎么回事儿呢?
魔术原理:溶液调配的启示
不妨假设你的好朋友最初在纸上写下的两个数分别是 a 和 b 。那么,这 11 个方格里的数分别为:
a b a+b a+2b 2a+3b 3a+5b 5a+8b 8a+13b 13a+21b 21a+34b 34a+55b
接下来,我们只需要说明,21a+34b 除以 34a+55b 的结果非常接近 0.618 即可。
让我们来考虑另一个看似与此无关的生活小常识:两杯浓度不同的盐水混合在一起,调配出来的盐水浓度一定介于原来两杯盐水的浓度之间。换句话说,如果其中一杯盐水的浓度是 a/b,另一杯盐水的浓度是 c/d,那么 (a+c)/(b+d) 一定介于 a/b 和 c/d 之间。
因此,(21a+34b)/(34a+55b) 就一定介于 21a/34a 和 34b/55b 之间。而 21a/34a = 21/34 ≈ 0.6176,34b/55b = 34/55 ≈ 0.6182,可见不管 a 和 b 是多少,(21a+34b)/(34a+55b) 都被夹在了 0.6176 和 0.6182 之间。如果 a 和 b 都不大,用 21a+34b 的值除以 0.618 来推测 34a+55b 是相当靠谱的。
有的读者可能已经发现了,0.618 不是别的数,正是神秘的黄金分割;而上表中出现的系数 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … 正是传说中的斐波那契数列。算术中最富神秘色彩的两个概念在此交织,看来这个简单小魔术的来头并不简单啊。