0不能作为被除数,需要特判
#include <bits/stdc++.h>
using namespace std;
int digitCount[10];
void seperate(int num){
digitCount[num%10]++;
digitCount[num/10%10]++;
digitCount[num/100]++;
}
bool checkN(int a,int b,int c){
memset(digitCount,0,sizeof(digitCount));
if (b>999 || c>999) return false;
seperate(a);
seperate(b);
seperate(c);
for (int i = 1; i < 10; i++)
{
if (!digitCount[i]) return false;
}
return true;
}
//三连击
int main(){
long long A,B,C,b,c,cnt = 0;
cin >> A >> B >> C;
//A作为除数不能为0
if (!A){
cout << "No!!!";
return 0;
}
for (long long a = 123; a <= 987; a++)
{
if (a*B%A || a*C%A) continue;
b = a*B/A;
c = a*C/A;
if (checkN(a,b,c)){
cout << a << " " << b << " " << c << endl;
cnt++;
}
}
if (!cnt) cout << "No!!!";
}