【问题描述】
相传古印度的一个宰相西萨-班达依尔发明了国际象棋。国王舍罕王玩得很开心,于是决定奖励这个宰相,问他有什么要求。宰相没有向国王要求金银珠宝,而是提出了以下要求:请在棋盘的第1个格子里放上1颗麦粒,在第2个格子里放上2颗麦粒,在第3个格子里放上4颗麦粒,依次类推,每个格子放的麦粒数都是前一个格子里放的麦粒数的2倍,直到放完64个格子为止。国王一听,认为这是区区赏金,微不足道,于是满口答应。
请你编程序计算:
-
国王要向宰相奖励多少颗麦粒?
-
111麦粒约重50毫克。全部麦粒共重多少吨?
-
在标准11人足球场(尺寸是68米 X 105米,面积是7140平方米)上平铺全部麦粒,小麦的高度是多少米?假设一斤(500克)面的体积约为550550毫升。111升等于1立方分米,1立方米等于1000立方分米。
注意:由于数量巨大,要使用浮点数来存储麦粒总数、吨数和高度。
【输入形式】无,不需要输入参数
【输出形式】
第一行输出第一问结果,即麦粒个数,保留到整数
第二行输出麦粒总重量,保留2位小数,单位为吨
第三行输出小麦的高度,保留2位小数,单位为米
第二行的输出语句为:
print("%.2ft"%(m))
其中,m是计算所得麦粒的质量,%.2f指定以浮点数形式保留2位小数的输出格式输出
输出格式如下( 仅用于参考格式,不是答案):
132323213214
9231231723215.31t
71133213384037.39m
参考代码:
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 19 20:18:58 2018
@author: Dina
"""
s=1
for n in range(64):
s = s * 2 # 计算麦子有多少颗
print(s-1)
g = s*0.05 # 计算麦子有多少克
m = g/1000000 # 计算麦子有多少吨
print("%.2ft"%(m)) #以浮点数形式保留2位小数
j = g / 500 # 计算麦子有多少斤
hs = j * 550 # 计算麦子有多少毫升
s_fen = hs * 0.001 # 计算麦子有多少升(立方分米)
mi = s_fen /1000 # 计算麦子有多少立方米
h = mi / 7140 # 计算麦子有多少米
print("%.2fm"%(h)) #以浮点数形式保留2位小数
提交可通过: