描述:将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
输入:无
输出:每行三个三位数,为满足条件的一种方案。这三个三位数按从小到大的方式给出,相邻两个数之间用单个空格隔开。
请按照第一个三位数从小到大的顺序依次输出每种方案。
for x in range(123,330):
a=x//100;b=x//10%10;c=x%10
d=x*2//100;e=x*2//10%10;f=x*2%10
g=x*3//100;h=x*3//10%10;i=x*3%10
L=[a,b,c,d,e,f,g,h,i]
L.sort()
if L==[1,2,3,4,5,6,7,8,9]:
print(x,x*2,x*3)
思路:
三个三位数,比例1:2:3,且由1~9的数字组成,那对于第一数x,肯定大于或等于123,且小于或等于329(第三个数最大987)
另外两个数就x2,x3
将这三个数的每一位都取出来,放入一个列表,只要这个列表满足9个元素分别是1~9不同的数字,则满足条件