九数分三组
1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系:
B = 2 * A
C = 3 * A
请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。
注意:只提交A的值,严格按照格式要求输出。
思路
用长度为9的一维数组,前三个为A,中间三个为B,后三个为C
def ad(a, b):
if len(a) == 0:
if (100*b[3]+10*b[4]+b[5]) == 2*(100*b[0]+10*b[1]+b[2]) and (100*b[6]+10*b[7]+b[8]) == 3*(100*b[0]+10*b[1]+b[2]):
print('A:',100*b[0]+10*b[1]+b[2], 'B:', 100*b[3]+10*b[4]+b[5], 'C:', 100*b[6]+10*b[7]+b[8])
return
for i in range(len(a)):
b.append(a[i])
d = a.pop(i)
ad(a, b)
a.insert(i, d)
b.pop(-1)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
b = []
ad(a, b)
A: 192 B: 384 C: 576
A: 219 B: 438 C: 657
A: 273 B: 546 C: 819
A: 327 B: 654 C: 981