python_数麦子

悦儿姐四年级时看过一本书,书名叫《从一到无穷大》,里面记载了一个非常好玩的故事,现在居然被写成了编程题。哈哈,我感觉很有趣,就发出来了。原故事是这样的:

相传,大宰相西萨.本.达依尔 发明了国际象棋并将其呈送给了印度舍罕王,因此舍罕王想要奖赏他。这位聪明的宰相的要求似乎并不过分,“陛下,”他跪拜在国王面前说,“请将第一个麦粒放在第一格,将两个麦粒放在第二格,将四个麦粒放在第三格,将八个麦粒放在第四格......按照这个方法,使得每一格的麦粒的数量都是前一格的两倍。陛下,请上次我能填满整个棋盘上64格的所有的麦粒吧!”   “哦,我忠实的仆人,你的要求倒是不高,”国王感叹道,心里窃喜他给这项神奇游戏的发明者的慷慨许诺不会消耗他多少财宝,“你必将如愿以偿。”  当计数开始,一粒一粒麦子被放了上去,还没到20格一袋麦子就用完了,往下每数一格,所需要的麦子迅速增长,哪怕倾尽印度所有的麦子,国王也无法实现他的承诺。因为那可是18446744073709551615粒麦子啊!!!

好,还是那句话,非常简单,直接走起。

s=1  # 每格需要的麦子
x=1  # 总和
for i in range(63):  # 遍历,那一遍在初始值时已经设置
    s=s*2  # 每次增大二倍
    x+=s  # 每次都累加
print(x)  # 打印总和

 到此结束,不见不散,欢迎借鉴

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值