L_embrace @ 2019-11-01 21:55:35
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int a,b,c,x[11],k=0;
cin>>a>>b>>c;
memset(x,0,sizeof(x));
for(int i=123;i<=329;i++){
int m=i/a;
if((m*a)!=i){k++;continue;}
if((m*c)<=987){
x[i%10]=x[i/10%10]=x[i/100]=x[m*b%10]=x[m*b/10%10]=x[m*b/100]=x[m*c%10]=x[m*c/10%10]=x[m*c/100]=1;
if(x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+x[9]==9)
cout<<i<<m*b<<m*c<<endl;
else k++;
}
else k++;
memset(x,0,sizeof(x));
}
if(k==207)
cout<<"No!!!"<<endl;
return 0;
}
by 浮尘 @ 2019-11-01 22:04:12
输出没空格,哪来的40分?
by 浮尘 @ 2019-11-01 22:06:30
假的吧
by 浮尘 @ 2019-11-01 22:08:38
using namespace std;
int main(){
int a,b,c,x[11],k=0;
cin>>a>>b>>c;
memset(x,0,sizeof(x));
for(int i=123;i<=329;i++){
int m=i/a;
if((ma)!=i){k++;continue;}
if((mc)<=987){
x[i%10]=x[i/10%10]=x[i/100]=x[mb%10]=x[mb/10%10]=x[mb/100]=x[mc%10]=x[mc/10%10]=x[mc/100]=1;
if(x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+x[9]==9)
cout<<i<<" "<<mb<<" "<<mc<<endl;
else k++;
}
else k++;
memset(x,0,sizeof(x));
}
if(k==207)
cout<<"No!!!"<<endl;
return 0;
}
by 浮尘 @ 2019-11-01 22:09:08
加空格就满分
by L_embrace @ 2019-11-01 22:39:22
哈哈,谢谢你了,我以前有时不加就没事,直到今天才发现,不过如果数为2 4 6不是最简的话,这样才能输出和1 2 3一样了,不知道为什么都能判对。
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int a,b,c,x[11],k=0;
cin>>a>>b>>c;
memset(x,0,sizeof(x));
for(int i=123;i<=329;i++){
if((i*c/a*a)!=(i*c)||(i*b/a*a)!=(i*b)){k++;continue;}
if((i*c/a)<=987){
x[i%10]=x[i/10%10]=x[i/100]=x[i*b/a%10]=x[i*b/a/10%10]=x[i*b/a/100]=x[i*c/a%10]=x[i*c/a/10%10]=x[i*c/a/100]=1;
if(x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+x[9]==9)
cout<<i<<' '<<i*b/a<<' '<<i*c/a<<endl;
else k++;
}
else k++;
memset(x,0,sizeof(x));
}
if(k==207)
cout<<"No!!!"<<endl;
return 0;
}
@诡秘之主