由最小公倍数和最大公约数逆推原数:
def solve_it():
l = []
for i in range(a+1, b+1):
if i % a == 0 and b % i == 0:
l.append(i) #先列出所有单个的,再合并
for x in l:
for y in l:
if x!=y and x<y: #遍历每个可能的原数对
if y//x <= a and x*y==a*b and y % x != 0:
print(x,y)
print(solve_it()) # 答案需要输出
涉及到一条重要的推论是:a * b = 最小公倍数 * 最大公约数