数的全排列
来源:互联网 发布:2010科比总决赛数据 编辑:程序博客网 时间:2024/05/18 16:36
问题:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。
公式:全排列数f(n)=n!(定义0!=1),如1,2,3三个元素的全排列为:
1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1
共3*2*1=6种。
输入一个数,打印出其全排列。
代码如下:
#include<cstdio>#define Max 15int n;int a[Max],Book[Max];//int count=0;void dfs(int step){ if(step==n+1) { //if((a[1]*100+a[2]*10+a[3])+(a[4]*100+a[5]*10+a[6])==a[7]*100+a[8]*10+a[9]) //实现1-9当中满足 如123+456=789使等式成立的个数 //count++; for(int i=1;i<=n;i++) printf("%d",a[i]); printf("\n"); return; } for(int x=1;x<=n;x++) { if(Book[x]==0) { a[step]=x; Book[x]=1; dfs(step+1); Book[x]=0; } }}int main(){//n=9; scanf("%d",&n);for(int i=0;i<Max;i++){Book[i]=0;}dfs(1);//printf("%d",count);return 0;}
阅读全文
0 0
- 数的全排列
- 数的全排列
- 数的全排列
- 数的全排列
- 数的全排列
- 数的全排列
- 数的全排列
- 数的全排列
- 全排列数的生成
- 求数的全排列
- 一个数n的全排列&&DFS
- 输出一个数的全排列
- 使用递归实现数的全排列
- 求一列数的全排列
- 输出一个数n的全排列
- 递归实现数的全排列
- 全排列字典数
- NYOJ-32组合数(数的全排列,简单dfs)
- 二级列表带删除
- Apache Tomcat 信息泄露及远程代码执行漏洞分析与防护
- 剑指offer--调整数组顺序使奇数位于偶数前面
- Redis安装(CentOs版本),及项目引用
- Java时间--毫秒转换成特定格式
- 数的全排列
- c++动态以及静态调用dll
- 474 Magry的朋友很多
- 怎么运用PDF Transformer+实现文本到PDF的添加
- Java--JDBC,CRUD,Unit
- mysql多实例组复制配置
- 最小堆获取topK问题与堆的增删
- linux下添加动态链接库路径的方法
- 自动化测试框架GTest安装