#include <stdio.h>
#include<iostream>
using namespace std;
int n = 0;
int abc;
void swap(int *a, int *b)
{
int m;
m = *a;
*a = *b;
*b = m;
}
void perm(int list[], int k, int m)
{
int i;
if(k > m)
{
for(i = 0; i <= m; i++)
{
if(n==abc)
printf("%d ", list[i]);
}
//printf("/n");
n++;
//////////////////////
/* if (n=10)
printf(list);*/
/////////////////////
}
else
{
for(i = k; i <= m; i++)
{
swap(&list[k], &list[i]);
perm(list, k + 1, m);
swap(&list[k], &list[i]);
}
}
}
int main()
{
int list[] = {1, 2, 3, 4, 5,6,7,8,9};
int abc_;
cin>>abc_;
abc=abc_-1;
int abcd;
perm(list, 0, 4);
// printf("total:%d/n", n);
system("pause");
return 0;
}
转载自: http://www.cnblogs.com/nokiaguy/archive/2008/05/11/1191914.html
#include<iostream>
using namespace std;
int n = 0;
int abc;
void swap(int *a, int *b)
{
int m;
m = *a;
*a = *b;
*b = m;
}
void perm(int list[], int k, int m)
{
int i;
if(k > m)
{
for(i = 0; i <= m; i++)
{
if(n==abc)
printf("%d ", list[i]);
}
//printf("/n");
n++;
//////////////////////
/* if (n=10)
printf(list);*/
/////////////////////
}
else
{
for(i = k; i <= m; i++)
{
swap(&list[k], &list[i]);
perm(list, k + 1, m);
swap(&list[k], &list[i]);
}
}
}
int main()
{
int list[] = {1, 2, 3, 4, 5,6,7,8,9};
int abc_;
cin>>abc_;
abc=abc_-1;
int abcd;
perm(list, 0, 4);
// printf("total:%d/n", n);
system("pause");
return 0;
}
转载自: http://www.cnblogs.com/nokiaguy/archive/2008/05/11/1191914.html