分析:暴力每句满足条件的打印出来即可
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include "iostream" 2 #include "cstdio" 3 #include "cstring" 4 using namespace std; 5 int n; 6 int vis[11]; 7 bool judge(int a,int b){ 8 memset(vis,0,sizeof(vis)); 9 if(a>98765) return false; 10 if(b<10000) vis[0]=1; 11 while(a){ 12 vis[a%10]=1; 13 a/=10; 14 } 15 while(b){ 16 vis[b%10]=1; 17 b/=10; 18 } 19 int sum=0; 20 for(int i=0;i<10;i++) 21 sum+=vis[i]; 22 if(sum==10) return true; 23 return false; 24 } 25 int main() 26 { 27 int cnt=0; 28 while(cin>>n) 29 { 30 if(n==0) break; 31 if(cnt++) 32 printf(" "); 33 int flag=0; 34 for(int i=1234;i<=98765;i++){ 35 if(judge(i*n,i)){ 36 printf("%05d / %05d = %d ", i * n, i, n); 37 flag=1; 38 } 39 } 40 if(!flag) 41 printf("There are no solutions for %d. ",n); 42 //printf(" "); 43 } 44 return 0; 45 }