国际象棋起源于古代印度,据说当时的国王要奖赏国际象棋的发明者。国王问发明者想要什么奖励,发明者说请您在棋盘的第一个格子里放一粒麦子,第二个格子里放两粒麦子,第三个格子里放四粒麦子......以此类推,每个格子里的麦子数量都要是前一个格子里的两倍,直到把64个格子全部放完,把这些麦粒全部奖赏给我就行了。 国王觉得这个要求不高,就欣然同意了。但是当他往棋盘上一格一格的放麦粒的时候才发现,全国的麦子竟然都不够放满整个棋盘。其实在高中我们就应该学到过这个故事,这其实就是一个以1为首项,2为公比的等比数列,我们要求的就是这个数列的前64项之和。根据等比数列前n项和的公式,我们可以轻易计算得到一共需要(2^64)-1粒麦子,而这足足是全世界差不多2000年的小麦产量!
但是我觉得这些小麦还是不够多,毕竟最后得到的数字可以用指数的形式轻易表达出来。如果换我向国王提要求,我会这样提:请不断向第一个格子里一粒一粒的放麦子,当第一个格子里第一次有10粒麦子时将第一格清空,同时在第二个格子里放一粒麦子。要注意,当第一格第二次有10粒麦子时就不能直接“进位”到第二格了,此时我们需要10×2^10粒麦子才能把第一格清空,并在第二个格子里放下第二粒麦子。规则是这样的:每在第一个格子里放下一粒麦子,就视为走了“一步”,步数记为m。所有的格子第一次向下一个格子“进位”时,都只需要在本格子里出现10粒麦子。步数每走一步,下下次的进位“汇率”就会在原有基础上翻倍。回到上面的例子,第一个格子里第一次有了10粒麦子时第一次向第二个格子里进位,而此时我们已经走了10步。而每走一步,下下次进位的“汇率”就会翻倍,所以当第一个格子里出现10×2^10粒麦子时才能第二次向第二个格子里进位。同样的,第一个格子第三次向第二个格子里进位就需要10×2^10×2^(10×2^10)粒麦子。 当第二个格子也第一次有了10粒麦子后,同样需要向第三个格子里面进位。但是要注意,第二个格子里的麦子第二次向第三个格子里进位时可不是简单的10×2^10粒,因为此时已经走过的步数远不止10步!记每个格子之间进位的汇率为a,第一次进位时a₁=10,第二次进位时a₂=a₁×2^m₁,其中m₁是该格子第一次向下个格子进位时走过的步数。第三次进位时a₃=a₂×2^(m₂-m₁),其中m₂是该格子第二次向下个格子进位时走过的步数。a₋n=a₋(n-1)×2^(m₋n-m₋(n-1))。请问按照这个规则,当第64个格子上出现第一粒麦子时,需要走过多少步,或者说一共需要在第一个格子里放多少粒麦子才能让第64格出现一粒麦子?
但是我觉得这些小麦还是不够多,毕竟最后得到的数字可以用指数的形式轻易表达出来。如果换我向国王提要求,我会这样提:请不断向第一个格子里一粒一粒的放麦子,当第一个格子里第一次有10粒麦子时将第一格清空,同时在第二个格子里放一粒麦子。要注意,当第一格第二次有10粒麦子时就不能直接“进位”到第二格了,此时我们需要10×2^10粒麦子才能把第一格清空,并在第二个格子里放下第二粒麦子。规则是这样的:每在第一个格子里放下一粒麦子,就视为走了“一步”,步数记为m。所有的格子第一次向下一个格子“进位”时,都只需要在本格子里出现10粒麦子。步数每走一步,下下次的进位“汇率”就会在原有基础上翻倍。回到上面的例子,第一个格子里第一次有了10粒麦子时第一次向第二个格子里进位,而此时我们已经走了10步。而每走一步,下下次进位的“汇率”就会翻倍,所以当第一个格子里出现10×2^10粒麦子时才能第二次向第二个格子里进位。同样的,第一个格子第三次向第二个格子里进位就需要10×2^10×2^(10×2^10)粒麦子。 当第二个格子也第一次有了10粒麦子后,同样需要向第三个格子里面进位。但是要注意,第二个格子里的麦子第二次向第三个格子里进位时可不是简单的10×2^10粒,因为此时已经走过的步数远不止10步!记每个格子之间进位的汇率为a,第一次进位时a₁=10,第二次进位时a₂=a₁×2^m₁,其中m₁是该格子第一次向下个格子进位时走过的步数。第三次进位时a₃=a₂×2^(m₂-m₁),其中m₂是该格子第二次向下个格子进位时走过的步数。a₋n=a₋(n-1)×2^(m₋n-m₋(n-1))。请问按照这个规则,当第64个格子上出现第一粒麦子时,需要走过多少步,或者说一共需要在第一个格子里放多少粒麦子才能让第64格出现一粒麦子?