12345 五个数 排成一四位数..不重复..是多少种排列 最好有清单

12345 五个数 排成一四位数..不重复..是多少种排列 最好有清单

void main()
{
int a,b,c,d,e;
FILE *fp;
e=1;
fp=fopen("xxx.txt","w");
for(a=1;a<=5;a++)
for(b=1;b<=5;b++)
for(c=1;c<=5;c++)
for(d=1;d<=5;d++)
if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)
{
printf("%3d %d\n",e++,(a*1000+b*100+c*10+d));
fprintf(fp,"%3d %d\n",e,(a*1000+b*100+c*10+d));
}
fclose(fp);
}

2 1234
3 1235
4 1243
5 1245
6 1253
7 1254
8 1324
9 1325
10 1342
11 1345
12 1352
13 1354
14 1423
15 1425
16 1432
17 1435
18 1452
19 1453
20 1523
21 1524
22 1532
23 1534
24 1542
25 1543
26 2134
27 2135
28 2143
29 2145
30 2153
31 2154
32 2314
33 2315
34 2341
35 2345
36 2351
37 2354
38 2413
39 2415
40 2431
41 2435
42 2451
43 2453
44 2513
45 2514
46 2531
47 2534
48 2541
49 2543
50 3124
51 3125
52 3142
53 3145
54 3152
55 3154
56 3214
57 3215
58 3241
59 3245
60 3251
61 3254
62 3412
63 3415
64 3421
65 3425
66 3451
67 3452
68 3512
69 3514
70 3521
71 3524
72 3541
73 3542
74 4123
75 4125
76 4132
77 4135
78 4152
79 4153
80 4213
81 4215
82 4231
83 4235
84 4251
85 4253
86 4312
87 4315
88 4321
89 4325
90 4351
91 4352
92 4512
93 4513
94 4521
95 4523
96 4531
97 4532
98 5123
99 5124
100 5132
101 5134
102 5142
103 5143
104 5213
105 5214
106 5231
107 5234
108 5241
109 5243
110 5312
111 5314
112 5321
113 5324
114 5341
115 5342
116 5412
117 5413
118 5421
119 5423
120 5431
121 5432
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-26
楼上的算法太不好了吧!严重影响效率!你算一算有多少没用的循环!我要去吃饭了,一会回来给你们个高效的。也让新手们学一学,严重建议不要学习楼上的那种算法!
第2个回答  2009-10-26
120种。就是排列组合嘛。
简单的说。千位从1~5中任取一个数,百位从剩余四个数中取,十位从剩余三位中取。个位从剩余两位中取。乘法原则得5*4*3*2=120。
第3个回答  2009-10-26
A54 = 5*4*3*2 = 120种
相似回答