问题描述
在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm × 841mm, 将 A0 纸 沿长边对折后为 A1 纸, 大小为 841mm × 594mm, 在对折的过程中长度直接取 下整 (实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸, 依此类推。
输入纸张的名称, 请输出纸张的大小。
输入格式
输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。
输出格式
输出两行,每行包含一个整数,依次表示长边和短边的长度。
样例输入1
A0
样例输出1
1189
841
样例输入 2
A1
样例输出 2
841
594
运行限制
- 最大运行时间:1s
- 最大运行内存: 512M
解题思路
列表的sort()方法是将列表中的数字从小到大排序,我们可以先调用sort()方法再调用reverse()方法实现从大到小排序
import os
import sys# 请在此输入您的代码
ls = [1189, 841]
str0 = input()
num = int(str0[1])
for i in range(0, num):if ls[0] > ls[1]:ls[0] = ls[0] // 2else:ls[1] = ls[1] // 2ls.sort()
ls.reverse()for i in range(0, 2):print(ls[i], end='\n')
或者
a = 1189
b = 841
s = input()
t = int(s[1])
for i in range(t):if a > b:a = a // 2else:b = b // 2
print(max(a,b))
print(min(a,b))