1. 程式人生 > >C語言實現5位數=2*4位數,9個數字互不相同

C語言實現5位數=2*4位數,9個數字互不相同

利用C語言求解這樣的兩個資料:5位數=2*4位數,9個數字互不相同

 1 #include<stdio.h>
 2 int main()
 3 {
 4     long x;
 5     int p[10],i,t,k;
 6     int num=0;
 7     int n,f,y,m;
 8     for(x=1000;x<=9999;x++)
 9     {
10         for(i=0;i<=9;i++)
11             p[i]=1;
12             y=x;
13             f=x*2;
14             n=f;
15 if(n>=10000) 16 { 17 k=0; 18 for(i=1;i<=5;i++) 19 { 20 t=y%10; 21 y=y/10; 22 m=n%10; 23 n=n/10; 24 if(m==t){k=0;break;} 25 if(i<5) 26 if(p[t]==1) 27 { 28 p[t]=0
; 29 k++; 30 } 31 else 32 { 33 k=0; 34 break; 35 } 36 if(p[m]==1) 37 { 38 p[m]=0; 39 k++; 40 } 41 else 42 {
43 k=0; 44 break; 45 } 46 } 47 if(k==9) 48 { 49 num=num+1; 50 printf("%d\t%d\t",x,f); 51 } 52 } 53 else 54 continue; 55 } 56 printf("\n"); 57 printf("%d\n",num); 58 return 0; 59 }

執行結果如下: