题意分析:暴力的入门级题目,可以通过枚举除数解决。注意这里的输入输出,还有个很妙的处理0-9的不重复的方法。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
char ans[]="0123456789";
char s[];
bool com(char a, char b){
return a>b;
}
int main(){
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n ,m=;
while((scanf("%d",&n)!=EOF)&&(n)){
if(m>) printf("\n");
m++;
int a ;
int flag = ;
for(int i = ; i < ; i++){
a = i*n;
if(a>){
break;
}
if(i<){
sprintf(s,"%d%d%d",,i,a);
}
else{
sprintf(s,"%d%d",i,a);
}
sort(s,s+);
if(strcmp(s,ans)==){
printf("%d / %05d = %d\n",a,i,n);
flag = ;
}
}
if(flag==){
printf("There are no solutions for %d.\n",n);
}
}
return ;
}