UVA725

题目

分析:暴力每句满足条件的打印出来即可

 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 }
View Code
原文地址:https://www.cnblogs.com/wolf940509/p/6675473.html