#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int total = 0;
void perm(int num[],int k,int m)
{
if(k == m-1)
{
for(int i = 0;i < m;i++)
printf("%d ",num[i]);
printf("\n");
total++;
}
else
{
for(int i = k;i < m;i++)
{
swap(num[k],num[i]);
perm(num,k+1,m);
swap(num[k],num[i]);
}
}
}
int main()
{
int num[100],n;
scanf("%d",&n);
for(int i = 0;i < n;i++)
num[i] = i+1;
perm(num,0,n);
printf("排列总数:%d\n",total);
return 0;
}
【全排列 - 递归】
最新推荐文章于 2024-07-30 09:26:46 发布