题目描述
将 1,2,…,9 共 9 个数分成 3 组,分别组成 3 个三位数,且使这 3 个三位数构成 1:2:3 的比例,试求出所有满足条件的 3 个三位数。
输入格式
无
输出格式
若干行,每行 33 个数字。按照每行第 11 个数字升序排列。
分析
题解中提供了一种思路,枚举出123~333中所有的数作为第一个数,第二个数和第三个数分别是第一个数的2和3倍,然后判断这三个数是否使用且仅使用了1~9这9个数各一次。
判断方法是:两个集合中元素个数相同时,若一个集合中各元素的积与和分别于另一个集合的积与和相等时,两集合相同。
伪代码如下:
for(int a=123;a<333;++a){
b=a*2;
c=a*3;
if(a,b,c的每位数字的积==9!&&a,b,c的每位数字的和==(1+2+3+...+9))
保留答案
}
知识点:元素判断