码迷,mamicode.com
首页 > 其他好文 > 详细

排列数

时间:2016-01-23 00:56:18      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 using namespace std;
 5 long long sum=0;
 6 void print_permutation(int n,int s,int *a,int cur);//n为输出的,s为元素个数,a为数组,cur当前位置. 
 7 int main()
 8 {
 9     int s[11];
10     int n;
11     scanf("%d",&n);
12     sum=0;
13     print_permutation(n,10,s,0);
14 }
15 
16 void print_permutation(int n,int s,int *a,int cur)
17 {
18     if(cur==s)
19     {
20         sum+=1;
21         if(sum==n)
22         {
23             for(int i=0;i<s;i++)
24             printf("%d",a[i]);
25             printf("\n");
26         }
27     }
28     else
29     {
30         for(int i=0;i<s;i++)
31         {
32             int ok=1;
33             for(int j=0;j<cur;j++)
34             {
35                 if(a[j]==i)    ok=0;
36             }
37             if(ok)
38             {
39                 a[cur]=i;
40                 print_permutation(n,s,a,cur+1);
41             }
42         }
43     }
44 }
View Code

单纯的排列。

排列数

标签:

原文地址:http://www.cnblogs.com/WDKER/p/5152350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!