鱼C论坛

 找回密码
 立即注册
查看: 13406|回复: 158

[技术交流] 小白Python练习册(21)【鱼币福利】

  [复制链接]
发表于 2021-8-26 22:45:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 冰河星云 于 2021-8-27 11:02 编辑

时隔一年。。。我回来了(虽然@WangJS 没回来

那么让我们开始做题吧

相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8 * 8 共 64 格的象棋说:“陛下,请您赏给我一些麦子吧。就在棋盘的第 1 格放 1 粒,第 2 格放 2 粒,第三格放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘 64 格,我就感激不尽了。”。舍罕王听了达依尔这个“小小”的要求,想都没想就满口答应下来。

结果在给达依尔麦子时舍罕惊奇地发现要给的麦子比自己想象的要多得多,于是他进行了计算,结果令他大惊失色。请问,舍罕王要兑现他的许诺共要多少粒麦子赏赐他的宰相?

代码如下:(应该是正确的
游客,如果您要查看本帖隐藏内容请回复

如果你有更好的方法可以提出!


如果喜欢,别忘了评分订阅哟(传送门)!

                               
登录/注册后可看大图

                               
登录/注册后可看大图
(我如果有空会把答对的人的鱼币加上的,再等等!)

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-26 22:57:04 | 显示全部楼层

回帖奖励 +2 鱼币

>>> 2**65-1
36893488147419103231

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
冰河星云 + 1 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 01:47:46 | 显示全部楼层

回帖奖励 +2 鱼币

上面是对的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-27 08:31:35 | 显示全部楼层

应该吧。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 08:42:21 | 显示全部楼层
厉害了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 08:45:52 | 显示全部楼层

我错了,应该从0开始,是2 ** 64  - 1
1格:1粒=2**(0+1) - 1
2格:1 + 2粒 = 2**(1+1) - 1
3格:1 + 2 + 4粒 = 2**(2+1) - 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 08:56:12 | 显示全部楼层
网上搜了一下,这回的结果一致了。
1.png

评分

参与人数 1荣誉 +1 贡献 +1 收起 理由
冰河星云 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2021-8-27 08:58:45 | 显示全部楼层
应该要用到幂运算
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 09:14:34 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 09:27:51 | 显示全部楼层

回帖奖励 +2 鱼币

666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 09:43:40 | 显示全部楼层

回帖奖励 +2 鱼币

没太看懂,小甲鱼能详细讲一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 10:03:58 | 显示全部楼层

回帖奖励 +2 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 10:51:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 10:59:18 | 显示全部楼层
def rice_num():
    total = 0
    for i in range(64):
        total += 2**i

    weight = total / 25000

    print("共要%d粒麦子赏赐他的宰相,应该给予%.2f公斤麦子" % (total, weight))

if __name__ == "__main__":
    rice_num()

评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +1 收起 理由
冰河星云 + 2 + 2 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 11:17:08 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 11:49:58 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-27 13:03:52 | 显示全部楼层
print(sum(list(map(lambda x: 2**x, range(64)))))
来采矿了

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
冰河星云 + 1 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 13:21:29 | 显示全部楼层
#上过高中的其实可以直接用等比数列求和公式 我写的稍微简单一点
n = int(input("输入格数:"))
sumnum = 0
for i in range(1,n+1): #第一格到第n格
    sumnum += 2**(i-1)   #每格依次加一倍 加到总数里
print("总麦粒数:%d"%sumnum) #结果应该是2的n次方减一

结果
输入格数:64
总麦粒数:18446744073709551615
>>> 2**64-1
18446744073709551615

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
冰河星云 + 1 + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-27 14:53:20 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-28 12:44:42 | 显示全部楼层
没有头绪,让我康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 21:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表