yyh0910 @ 2023-12-09 08:50:26
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int A,B,C;
int k,ansa[1000],ansb[1000],ansc[1000];
int p[10];
int main()
{
cin>>A>>B>>C;
if(A==0||B==0||C==0)
{
cout<<"No!!!";
return 0;
}
for(int i=123/A;i<=987/C;i++)
{
int a=i*A,b=i*B,c=i*C,flag=0;
memset(p,0,sizeof(p));
while(a>0)
{
if(p[a%10]==0)
p[a%10]=1;
else
{
flag=1;
break;
}
a=a/10;
}
while(b>0)
{
if(p[b%10]==0)
p[b%10]=1;
else
{
flag=1;
break;
}
b=b/10;
}
while(c>0)
{
if(p[c%10]==0)
p[c%10]=1;
else
{
flag=1;
break;
}
c=c/10;
}
if(flag==0)
{
k++;
ansa[k]=i*A;
ansb[k]=i*B;
ansc[k]=i*C;
}
}
if(k==0) cout<<"No!!!";
for(int i=1;i<=k;i++)
{
if(ansa[i]<1000&&ansb[i]<1000&&ansc[i]<10000)
{
cout<<ansa[i]<<" "<<ansb[i]<<" "<<ansc[i]<<endl;
}
}
return 0;
}
枚举出每一个比例正确的数字 判断是否有相同的
为什么第一个点会WA呢……好想下载数据……但灰名没法下……
by yyh0910 @ 2023-12-12 20:42:13
找到原因了 试试1 2 3
0是不可以存在的,题目要求1-9