第42751题 程序题
棋盘上的奖赏

图片 图片

【题目描述】

很久以前,一位聪明的大臣发明了国际象棋。国王很高兴,问他想要什么奖赏。

大臣说:"请在棋盘的第1格放1粒麦子,第2格放2粒麦子,第3格放4粒麦子,第4格放8粒麦子……每一格放的麦子都是前一格的2倍,一直放到第64格。"

国王心想:这还不简单?马上叫人去拿麦子。

可是,麦子的数量增长飞快:到第20格就需要上百万粒,到第40格已经超过了全世界的产量。国王这才明白,这个奖赏根本给不起。

默认小猫角色和白色背景,请你帮国王算一算:如果只放前n格,一共需要多少粒麦子?把答案存入变量ans中。

规律:

  • 第1格:1粒
  • 第2格:2粒(是第1格的2倍)
  • 第3格:4粒(是第2格的2倍)
  • 第4格:8粒(是第3格的2倍)
  • ……
  • 每一格都是前一格的2倍。

【输入描述】

新建变量"n",一个正整数,表示要计算的格子数,该数不超过10。如下图所示:

图片

【输出描述】

新建变量"ans",一个正整数,表示存放前n格总共需要的麦子粒数。如下图所示:

图片

【样例1】

输入:

n = 3

输出:

ans = 7

【样例解释1】

第1格:1粒

第2格:2粒

第3格:4粒

总共:$1 + 2 + 4 = 7$粒

【样例2】

输入:

n = 10

输出:

ans = 1023

【样例解释2】

第1格到第10格的麦子分别是:1, 2, 4, 8, 16, 32, 64, 128, 256, 512

把它们加起来:$1+2+4+8+16+32+64+128+256+512 = 1023$粒

【注意事项】

  1. 变量名的拼写(包括大小写)要和题目完全一致(建议直接从题目中复制变量名,避免自己打字时弄错大小写或拼写)。
  2. 输入变量直接赋值即可,无需使用"询问并等待"积木块。
  3. 输出结果存放在对应变量中即可,无需使用"说…"或"说…,2秒"积木块。
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
编辑模式
程序运行统计
暂无判题统计
知识点:
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析