把下面注释掉的代码加上之后就只能输出部分结果: 219 438 657 327 654 981
注释掉之后才能输出全部结果: 192 384 576 219 438 657 273 546 819 327 654 981
# include <iostream>
# include <stdlib.h>
# include <cstring>
using namespace std;
//排列组合,遍历所有可能
//把数组转换为整数
//检查是否符合1:2:3
//输出
int main(void)
{
int a1[3],a2[3],a3[3];
for(int i1=1;i1<=9;i1++)
{
a1[0] = i1;
for(int i2=1;i2<=9;i2++)
{
if(i2!=i1) a1[1] = i2;
else continue;
for(int i3=1;i3<=9;i3++)
{
if(i3!=i1&&i3!=i2) a1[2] = i3;
else continue;
for(int i4=2;i4<=9;i4++) //剔除一定不满足1:2的
{
// if(i4>=2*i1)
// {
if(i4!=i1&&i4!=i2&&i4!=i3) a2[0] = i4;
else continue;
for(int i5=1;i5<=9;i5++)
{
if(i5!=i1&&i5!=i2&&i5!=i3&&i5!=i4) a2[1] = i5;
else continue;
for(int i6=1;i6<=9;i6++)
{
if(i6!=i1&&i6!=i2&&i6!=i3&&i6!=i4&&i6!=i5) a2[2] = i6;
else continue;
for(int i7=3;i7<=9;i7++) //剔除一定不满足1:2:3的
{
// if(i7>=3*i1&&i7>=1.5*i2)
// {
if(i7!=i1&&i7!=i2&&i7!=i3&&i7!=i4&&i7!=i5&&i7!=i6) a3[0] = i7;
else continue;
for(int i8=1;i8<=9;i8++)
{
if(i8!=i1&&i8!=i2&&i8!=i3&&i8!=i4&&i8!=i5&&i8!=i6&i8!=i7) a3[1] = i8;
else continue;
for(int i9=1;i9<=9;i9++)
{
if(i9!=i1&&i9!=i2&&i9!=i3&&i9!=i4&&i9!=i5&&i9!=i6&i9!=i7&i9!=i8) a3[2] = i9;
else continue;
//得到三个数组,现在转换为三个整数
int result[3]; //记录三个整数
result[0] = a1[0]*100+a1[1]*10+a1[2];
result[1] = a2[0]*100+a2[1]*10+a2[2];
result[2] = a3[0]*100+a3[1]*10+a3[2];
if(result[0]*2==result[1]&&result[0]*3==result[2]) cout<<result[0]<<" "<<result[1]<<" "<<result[2]<<endl;
}
}
// }
}
}
}
// }
}
}
}
}
return 0;
}