类型:数值运算
描述
披萨的尺寸一般分6-15英寸几种,一英寸约等于2.54厘米,将英寸直径乘以2.54即可得出以厘米为单位的直径。例如6寸披萨,即为6乘以2.54,得出结果为15.24厘米。 然而披萨加工时并不是严格到毫米不差的,考虑到加工过程及无效的披萨边,真正的有效直径需要去掉小数点后面数字。例如6寸披萨的标准直径为15.24厘米,实际有效直径一般为15厘米。
披萨店经常会对顾客说:您订购的某尺寸的披萨卖完了,是否可以更换为多个小尺寸的披萨。例如:您订购的9寸披萨卖完了,可以给您2个6寸的披萨吗?
假设披萨厚度相同,价格与面积成正比,试问一个m英寸的大披萨至少要更换几个n英寸的小披萨,顾客才不吃亏?
输入格式
输入有2行
第一行输入整数m(英寸),代表订购的大披萨;
第二行输入整数n(英寸),代表推荐更换的小披萨;
输出格式
整数,更换小披萨的数量
示例
输入:
9
6
输出:
3
解析:
- 有2行输入,各用一个input()函数
- 每行输入一个整数,用int()函数
- 表达式需要转为python计算表达式
- 有效直径需要去掉小数点后面数字,即向下取整,可用int()或mat.floor()实现
- 比较面积倍数,向上取整,可用math.ceil()
- 若用ceil()或floor(),需import math
常见问题
- 未知错误 ```python n1=n2.54 s1=((int(m1)/2)2) s2=((int(n1)/2)2) if s1>s2:s3=s22 # 格式不规范,此分支下无输出 else:print(‘n’) # 为何要输出字符串’n’?
2. 使用未定义的变量或符号常量
```python
import math
m=int(input())
n=int(input())
areabig=PI*(m/2)**2 # PI未定义,可引用math.pi
areasmall=PI*(n/2)**2 # NameError: name 'PI' is not defined
num=math.ceil(areabig/areasmall)
profit=areasmall*num-areabig
print(round(profit))
半径未按题目 要求取整
import math
m=int(input())
n=int(input())
areabig=PI*(m/2)**2 # int(m/2
areasmall=PI*(n/2)**2 # int(n/2)
num=math.ceil(areabig/areasmall)
profit=areasmall*num-areabig
print(round(profit))
输出与题目要求不符
import math
m=int(input())
n=int(input())
areabig=PI*(m/2)**2 # int(m/2
areasmall=PI*(n/2)**2 # int(n/2)
num=math.ceil(areabig/areasmall)
profit=areasmall*num-areabig # 这是计算更换后面积差值,本题未要求,应是抄另一个题目的答案了
print(round(profit))
缺少输入,未取整,pi与题目要求不符
PI = 3.14
profit=PI*(9/2)**2-PI*(6/2)**2
print(profit)
披萨数量需为整数
m = int(input())
n = int(input())
a = int(m * 2.54)
b = int(n * 2.54)
print((a ** 2 / 2) / (b ** 2 / 2))
分支语句语法不正确 ```python from math import pi m=int(input()) n=int(input()) areaBig=pi(m/2)**2 # 有效直径未取整 areaSmall=pi(n/2)**2 if areaBig%areaSmall==0 # 结尾缺少冒号 num=int(areaBig/areaSmall) # 需缩进 else: num=int(areaBig/areaSmall)+1 print(num)
8. 缺少计算
```python
import math
m=float(input())
n=float(input())
print(math.ceil())