#include <iostream>
using namespace std;
int main()
{
int a = 0, b = 0, c = 0;
int num[10] = { 0 };
num[0] = 1;
for (int i = 1; i <= 9; i++)
{
a = i * 100;
num[i] = 1;
for (int j = 1; j <= 9; j++)
{
if (j != i)
{
a += j * 10;
num[j] = 1;
for (int k = 1; k <= 9; k++)
{
if (k != i && k != j)
{
a += k;
num[k] = 1;
b = a * 2;
c = a * 3;
int b1, b2, b3, c1, c2, c3;
b1 = b / 100;
b2 = (b - b1 * 100) / 10;
b3 = b % 10;
if (num[b1] != 1 && num[b2] != 1 && num[b3] != 1)
{
num[b1] = 1;
num[b2] = 1;
num[b3] = 1;
c1 = c / 100;
c2 = (c - c1 * 100) / 10;
c3 = c % 10;
if (num[c1] != 1 && num[c2] != 1 && num[c3] != 1 && b < 1000 && c < 1000)
{
cout << a << " " << b << " " << c << endl;
}
num[b1] = 0;
num[b2] = 0;
num[b3] = 0;
}
num[k] = 0;
a -= k;
}
}
num[j] = 0;
a -= j * 10;
}
}
num[i] = 0;
}
return 0;
}
大佬求组,代码AC了,但我自己运行的话结果一直无限循环,不知道问题出现在哪里……