|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
相传国际象棋是古印度舍罕王的宰相达依尔发明的。
舍罕王十分喜爱国际象棋,便决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8×8 共 64 格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第 1 格中放 1 粒,第 2 格放 2 粒,第 3 格放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘上 64 格,我就感激不尽了……
舍罕王听了达依尔这个“小小”的要求,便让人扛来一袋麦子,他要兑现许诺。结果,在给达依尔发放麦子时,舍罕王发现他要给达依尔的麦子比自己想象的要多得多,一袋麦子是远远不够的……
请编程计算舍罕王应该给达依尔多少粒麦子?0;d^
i = 1
sum = 0
while i <= 64:
wheats = pow(2, i-1)
sum = sum + wheats
i = i + 1
print("舍罕王应该给达依尔", sum, "粒麦子!")
我来尽量用通俗易懂的方式解释这个故事中的原理。
我们先来看宰相提出的要求:在 8×8 的国际象棋棋盘上,第 1 格放 1 粒麦子,第 2 格放 2 粒麦子,第 3 格放 4 粒麦子,以此类推,每个格子的麦子数是前一个格子的两倍。这个要求的核心就是指数增长。
指数增长是指一个量按照某个固定比例迅速增加。在这个故事中,麦子的数量就是按照 2 的幂次增长的。我们可以这样理解:
- 第 1 格:2^0 = 1 粒麦子
- 第 2 格:2^1 = 2 粒麦子
- 第 3 格:2^2 = 4 粒麦子
- 第 4 格:2^3 = 8 粒麦子
以此类推,第 64 格的麦子数是 2^63 粒。
指数增长在初始阶段看起来增长缓慢,但随着次数的增加,增长速度会变得非常快。在这个故事中,棋盘上麦子的数量迅速变得非常庞大,让舍罕王感到意外。
要计算棋盘上总共需要多少粒麦子,我们需要把每个格子的麦子数加起来。这个求和过程可以用一个数学公式表示:
总麦子数 = 2^0 + 2^1 + 2^2 + ... + 2^63
这个公式计算的结果是 18,446,744,073,709,551,615 粒麦子。这个数目远超过了舍罕王的预期,凸显了指数增长的强大力量。
通过这个故事,我们可以理解到,指数增长在一开始可能看起来微不足道,但随着时间的推移,其增长速度会变得非常惊人。这种现象在生活中的很多领域都有体现,比如金融投资、科技进步和人口增长等。
|
|