又签到失败了。看了别人博客的代码。https://blog.csdn.net/qq_49638570/article/details/116276005

构造法。

 记

z = math.pow(10, c-1)

x = math.pow(10, a-1)+math.pow(10, c-1)

y = math.pow(10, b-1)

 

1 如果a不等于c,题目说c < min(a, b),

所以math.pow(10, a-1)% z  =0

并且 math.pow(10, a-1)% z >= 10 

x/z = (math.pow(10, a-1)+ z)/z = math.pow(10, a-c) + 1

 x,y 的最大公因子为 z,除掉因子之后x, y大概是101, 10, 或者10...001, 10..0.类似这种形式的,必定互质。

也就是说x, y的最大公因子是z = math.pow(10, c-1)

2 如果a等于c,

x = math.pow(10, a-1)+math.pow(10, c-1) = 20...0。中间若干个0

因为z等于a. 

所以math.pow(10, a-1) + math.pow(10, c-1) = math.pow(10, c-1) + math.pow(10, c-1)  = 2z

 固  x/z=( math.pow(10, a-1) + math.pow(10, c-1) )/  math.pow(10, c-1)  = 2z/z = 2

如果c =b;则 x / z = 2, y/z = 1,满足题意

如果c<b. 则 x/ z = 2, y/z = 10...0. 最大公共因子为z*2, 因为z = 10...0,乘以二变成20...0, 不会增加位数。满足题意。

import math
n = int(input())

for df in range(n):
    a, b, c = map(int, input().split())
    x = math.pow(10, a-1) + math.pow(10, c-1)
    y = math.pow(10, b - 1)
    print(int(x), int(y))