PAT乙级 1044 火星数字

Dulcea ·
更新时间:2024-09-20
· 895 次阅读

题目:
在这里插入图片描述
输入样例:

4 29 5 elo nov tam

输出样例:

hel mar may 115 13

分析:
先判断接受的输入是不是纯数字,是的话就是地球—>火星,不是的话就是火星—>地球,分开讨论就行了

注意:
[0~169) 化为火星数字最大也是两位数(jou dec=12*13+12=168),只需考虑一位数和两位数
火星的0需要单独判断输出tret
火星低位为零时则不显示零

代码如下(Python):

low = ['tret', 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jly', 'aug', 'sep', 'oct', 'nov', 'dec'] high = ['', 'tam', 'hel', 'maa', 'huh', 'tou', 'kes', 'hei', 'elo', 'syy', 'lok', 'mer', 'jou'] n = int(input()) for i in range(n): s = input() if s.isdigit(): s = int(s) if s > 12: x = s // 13 y = s - x * 13 if y == 0: print(high[x]) else: print('{} {}'.format(high[x], low[y])) else: print(low[s]) else: if s == 'tret': print(0) elif len(s) == 3: if s in high: print(high.index(s) * 13) else: print(low.index(s)) else: p, q = s.split() print(high.index(p) * 13 + low.index(q))
作者:~豆沙味的旺仔



pat

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章