lulinhao1997 @ 2019-11-18 21:01:51
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[10];
int i;
for(i=0;i<10;i++){
a[i]=i;
}
int A,B,C,flag;
flag=0;
cin>>A>>B>>C;
do{
if((a[1]*100+a[2]*10+a[3])/A==(a[4]*100+a[5]*10+a[6])/B&&(a[1]*100+a[2]*10+a[3])/A==(a[7]*100+a[8]*10+a[9])/C){
cout<<a[1]<<a[2]<<a[3]<<" "<<a[4]<<a[5]<<a[6]<<" "<<a[7]<<a[8]<<a[9]<<endl;
flag++;
}
}while(next_permutation(a+1,a+10));
if(flag==0){
cout<<"No!!!";
}
return 0;
}
by lulinhao1997 @ 2019-11-18 21:05:45
上面的解60分, 把
if((a[1]*100+a[2]*10+a[3])/A==(a[4]*100+a[5]*10+a[6])/B&&(a[1]*100+a[2]*10+a[3])/A==(a[7]*100+a[8]*10+a[9])/C)
改成
if((a[1]*100+a[2]*10+a[3])*B==(a[4]*100+a[5]*10+a[6])*A&&(a[1]*100+a[2]*10+a[3])*C==(a[7]*100+a[8]*10+a[9])*A)
就100分了,为什么呀???
by 菜鸡gyf @ 2019-11-19 21:04:07
因为本来乘起来不相等的两个数同时除以一个数后,也可能相等
by lulinhao1997 @ 2019-11-26 19:56:48
@guyufan 明白了,谢谢!