题意给出甲乙丙三人的能力值关系:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。
输入为你的能力值,X,Y
输出甲的能力值,以及甲乙丙三人和你的关系(‘ping’=,‘cong’>,‘gai’<)
本题先根据X,Y值求出甲乙丙的能力值,因为甲是两位数,这里可以使用两个for循环分别作为十位和个位,进行三人关系的试探,成功放入列表中,因为题目告诉可能答案不唯一,所以甲的能力值取列表最大值,另外列表长度为0直接输出‘No solution’
代码如下:
import math
me,x,y = map(int,input().split())
a_res = []#甲的能力值
b_res = []#乙的能力值
for i in range(1,10):#十位不能为0,所以(1,10)
for j in range(10):
if abs(10*i+j-10*j-i)/x == (10*j+i)/y:#如果满足三人能力值关系
a_res.append(10*i+j)
b_res.append(10*j+i)
if len(a_res) == 0:#空列表,无解时输出'No Solution'
print('No Solution')
else:#有解时甲取最大解
a = max(a_res)
b = b_res[a_res.index(a)]
c = b / y#求出甲乙丙
res = [str(a)]
for k in a,b,c:
if k >me:
res.append('Cong')
elif k < me:
res.append('Gai')
else:
res.append('Ping')
print(' '.join(res))
提交结果: