C语言实现5位数=2*4位数,9个数字互不相同
程序员文章站
2022-07-02 13:39:03
利用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 }
运行结果如下: