Python入门习题----国际象棋的价值

版权声明:本文为博主原创文章,转载望备明出处,谢谢! https://blog.csdn.net/Dina_p/article/details/83089593

 

【问题描述】

相传古印度的一个宰相西萨-班达依尔发明了国际象棋。国王舍罕王玩得很开心,于是决定奖励这个宰相,问他有什么要求。宰相没有向国王要求金银珠宝,而是提出了以下要求:请在棋盘的第1个格子里放上1颗麦粒,在第2个格子里放上2颗麦粒,在第3个格子里放上4颗麦粒,依次类推,每个格子放的麦粒数都是前一个格子里放的麦粒数的2倍,直到放完64个格子为止。国王一听,认为这是区区赏金,微不足道,于是满口答应。

请你编程序计算:

  1. 国王要向宰相奖励多少颗麦粒?

  2. 111麦粒约重50毫克。全部麦粒共重多少吨?

  3. 在标准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位小数

提交可通过:

展开阅读全文

没有更多推荐了,返回首页