AzureMist @ 2022-04-04 11:57:50
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,x,y,z;
int e=0;
int sum=0;
int n[9];
cin>>a>>b>>c;
for(n[0]=1;n[0]<=9;n[0]++)
for(n[1]=1;n[1]<=9;n[1]++)
for(n[2]=1;n[2]<=9;n[2]++)
for(n[3]=1;n[3]<=9;n[3]++)
for(n[4]=1;n[4]<=9;n[4]++)
for(n[5]=1;n[5]<=9;n[5]++)
for(n[6]=1;n[6]<=9;n[6]++)
for(n[7]=1;n[7]<=9;n[7]++)
for(n[8]=1;n[8]<=9;n[8]++)
{
x=100*n[0]+10*n[1]+n[2];
y=100*n[3]+10*n[4]+n[5];
z=100*n[6]+10*n[7]+n[8];
for(int i=0;i<=8;i++)
for(int j=i+1;j<=8;j++)
{
if(n[i]==n[j])
e=1;
}
if((x/y==a/b)&&(y/z==b/c)&&(e=0))
{
cout<<x<<" "<<y<<" "<<z<<endl;
sum++;
}
}
if(sum==0)
cout<<"No!!!";
return 0;
}
by Ginger_he @ 2022-04-04 12:03:21
@Volcano_j666 枚举一个,算出其他两个,判断是否符合要求
by xfrvq @ 2022-04-04 12:03:31
你枚举九个数位会计算
可以只枚举第一个三位数,然后将其按
by AC_player @ 2022-06-06 19:43:26
1、枚举一个在333以内的数(含333),再用比例求出第2、3个数,如果2、3个数中有一个超出999,直接停。 2、用桶排序的思想,创一个0-9的桶,再查一遍 超过1直接continue
by AC_player @ 2022-06-06 19:45:08
@OneZzz6174 0要特判