题目描述
输入格式
输出格式
输入输出样例
输入 #1
输出 #1
说明/提示
分析 :
由于比值确定,所以本题可以通过枚举一个数来确定其他两个数,最后检验结果是否同时满足9个数字即可,需要注意的是这样做需要对后两个数的大小进行限制,否则可能超过三位。
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
int a[10];
int A,B,C,res;
bool check(int x,int y,int z)
{
for(int i=0;i<10;i++) a[i]=0;
//if(y>999||z>999) return false;
while(x)
{
a[x%10]++;
x/=10;
}
while(y)
{
a[y%10]++;
y/=10;
}
while(z)
{
a[z%10]++;
z/=10;
}
for(int i=1;i<10;i++)
{
if(a[i]!=1) return false;
}
return true;
}
int main()
{
cin>>A>>B>>C;
int x,y,z;
for(x=123;x<=987;x++)
{
if(x*B%A||x*C%A) continue;
y=x*B/A;
z=x*C/A;
if(check(x,y,z))
{
res++;
cout<<x<<' '<<y<<' '<<z<<endl;
}
}
if(!res) cout<<"No!!!";
return 0;
}