📄 求排列方式.txt
字号:
/*
author: qiaoger
from : Computer Science Department of Sichuan University
email : qiaoger@tom.com
date : 2005-4-30
求排列的方式
*/
#include<stdio.h>
const int MAX=20;
int r[MAX];//结果
bool sign[MAX];
int t;
void search(int k,int n, int count)//共n个数,考察第k个数的位置,count记录已考察的数量
{
if(count == n)
{
for(int j=0; j<n; j++)
printf("%d ",r[j]);
printf("\n");
t++;
return ;
}
int i;
for(i=1; i<=n; i++)
{
if(!sign[i])
{
sign[i] = true;
r[count] = i;
search(k+1,n,count+1);
sign[i] = false;
}
}
return ;
}
int main()
{
int n;
int j;
while(scanf("%d",&n)==1)
{
if(n==0)
break;
for(j=0; j<n; j++)
r[j] = 0;
t = 0;
search(1,n,0);
printf("排列方式共有:%d 种\n",t);
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -