请各位dalao看下,qwq 写的可能比较笨
#include <iostream>
using namespace std;
int main()
{
int flag[11] = {0};
int a, b, c, k1, k2, k3, f = 0;
cin >> k1 >> k2 >> k3;
for (a = 1; a <= 9; a++)
{
flag[a] = 1;
for (b = 1; b <= 9; b++)
{
if (flag[b] == 1)
continue;
else
{
flag[b] = 1;
for (c = 1; c <= 9; c++)
{
if (flag[c] == 1)
continue;
else
{
int t1 = (int)(a * 100 + b * 10 + c) * 1.0 * k2 / k1, t2 = (int)(a * 100 + b * 10 + c) * 1.0 * k3 / k1;
// cout<<a * 100 + b * 10 + c<<" "<<t1<<" "<<t2<<"**************"<<endl;
flag[a]=1,flag[b]=1;
if (t1 < 1000 && t2 < 1000)
{
while (t1)
{
if (flag[t1 % 10])
{
f = 1;
break;
}
flag[t1 % 10]=1;
t1 /= 10;
}
while (t2)
{
if (flag[t2 % 10])
{
f = 1;
break;
}
flag[t2 % 10]=1;
t2 /= 10;
}
if (f == 1)
{
f = 0;
for (int i = 1; i <=10; i++)
{
flag[i]=0;
}
continue;
}
cout << a * 100 + b * 10 + c << " " << (a * 100 + b * 10 + c) * 1.0 * k2/k1 << " " << (a * 100 + b * 10 + c) * 1.0 * k3/k1 << endl;
flag[c] = 0;
}
}
flag[c] = 0;
}
}
flag[b] = 0;
}
flag[a] = 0;
}
}