ngmhhy @ 2024-04-02 10:12:39
using namespace std;
bool num[9],x;
int n[9];
float A,B,C;
void f(int l){
if(l>9){
float a=n[1]*100+n[2]*10+n[3];
float b=n[4]*100+n[5]*10+n[6];
float c=n[7]*100+n[8]*10+n[9];
float m=B/A,n=C/A;
if(b/a==m&&c/a==n){
/*printf("%d%d%d ",n[1],n[2],n[3]);
printf("%d%d%d ",n[4],n[5],n[6]);
printf("%d%d%d\n",n[7],n[8],n[9]);*/
printf("%.0f %.0f %.0f\n",a,b,c);
}
x=true;
}
else{
for(int i=1;i<=9;i++){
if(!num[i]){
num[i]=true;
n[l]=i;
f(l+1);
num[i]=false;
}
}
}
}
int main(){
scanf("%f %f %f",&A,&B,&C);
f(1);
if(!x){
printf("No!!!");
}
}
by schirst @ 2024-04-02 11:20:41
@ngmhhy,数组开小了,以及还需要特判a==0的情况
by ngmhhy @ 2024-04-07 17:21:15
@jie_xusheng 谢谢dalao,A过了