[题目描述]
在某个星球上看到的月亮大小有一个规律,月亮为每30天一个周期,在这30天的周期里,月亮的大小分别为 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1。
虽然天气很冷,但这个星球上的某个居民今天却异常疯癫,不知为何居然想要赏月了。
但他想在赏月之前知道今天的月亮到底有多大。
输入格式:
第一行数据组数T ,
每组数据两个整数a ,b ,表示前两天的月亮大小,保证数据是合法的。
输出格式:
每组数据占一行,表示今天的月亮大小。
样例输入
2
0 1
11 10
样例输出
2
9
数据范围
对于 100%的数据,保证1≤T≤30 ,0≤a,b≤15。
来源/分类(难度系数:一星)
++完整代码如下:++
a=int(input())
b=[]
for i in range(a):
c=list(map(int,input().split()))
b.append(c)
for j in range(0,len(b)):
if b[j][0]<b[j][1]:
if b[j][0]<=13:
print(b[j][1]+1)
elif b[j][0]==14:
print(14)
else:
if b[j][0]>=2:
print(b[j][1]-1)
elif b[j][0]==1:
print(1)
++代码解释:++
"a=int(input())
b=[] ",让用户输入需要求的月亮大小的组数。,并建立一个空列表b。
"for i in range(a):
c=list(map(int,input().split()))
b.append(c) ",循环a次,将用户输入的数字组转化为列表,并依次存入列表b中。
"for j in range(0,len(b)):
if b[j][0]<b[j][1]:
if b[j][0]<=13:
print(b[j][1]+1)
elif b[j][0]==14:
print(14)
else:
if b[j][0]>=2:
print(b[j][1]-1)
elif b[j][0]==1:
print(1) ",遍历列表b中的元素,按照规则分为两大组(b[j][0]<b[j][1]或者是b[j][0]>b[j][1]),接着将着每个大组分为两类(普通类及特殊类,例如12 13 14(普通类)与14 15 14(特殊类),3 2 1(普通类)与1 0 1(特殊类,)),依次按照所给条件进行输出,直至循环结束。
++运行效果展示:++
++++