算法—实现排列 A(n,m)
/* 实现排列A(n,m)*/
#include "stdio.h"
int m,n,a[30];
long s=0;
int main()
{int p(int k);printf("input n(n<10):"); scanf("%d",&n);printf("input m(<1m<=n):"); scanf("%d",&m);p(1); //从第1个数开始 printf("\n总数为:%ld\n",s); //输出A(n,m)的值return 0;
}
//排列递归函数p(k)
int p(int k)
{int i,j,u;if(k<=m){for(i=1;i<=n;i++){a[k]=i; //探索第K个数赋值ifor(u=0,j=1;j<=k-1;j++)if(a[k]==a[j]) //若出现重复数字u=1; //若第K个数不可置,u=1if(u==0) //若第k个数可置,则检查是否到m个数{if(k==m) //若以到m个数,则打印出一个解{s++;printf(" ");for(j=1;j<=m;j++)printf("%d",a[j]);if(s%10==0) printf("\n");}else p(k+1); //若没到m个数,则探索下一个P(K+1) } }}return s;
}
算法—实现排列 A(n,m)相关推荐
- C语言编写Johnson-Trotter算法生成排列
//Johnson-Trotter算法生成排列#include<stdio.h>int list[99];在这里插入代码片 int num[99]; int dir[99];int cha ...
- 算法之排列与组合算法
1. 前言 本文介绍了常用的排列组合算法,包括全排列算法,全组合算法,m个数选n个组合算法等. 2. 排列算法 常见的排列算法有: (A)字典序法 (B)递增进位制数法 (C)递减进位制数法 (D)邻 ...
- [算法] 求排列组合: 从n个数中任选m个数组成一个新数
#include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...
- 算法题-排列组合问题
27.Algorithm Gossip: 排列组合 说明 将一组数字.字母或符号进行排列,以得到不同的组合顺序,例如1 2 3这三个数的排列组合有:1 2 3.1 3 2.2 1 3.2 3 1.3 ...
- Johnson-Trotter算法求全排列
下面我将贴出Johnson-Trotter算法的JAVA代码 package JT;import java.util.Scanner;public class Johnson_Trotter {//求 ...
- 用Johnson-Trotter算法生成排列!
package decreaseAndConquer; /* * 实现用来生成排列的Johnson-Trotter算法 * 输入:一个正整数n * 输出:{1,...,n}的所有排列的列表 */ im ...
- 程序员必备算法,排列组合
还记得排列组合吗? 在高中的时候最常接触的莫过于排列组合了,毕竟高考必考的嘛.我们先来回忆下这两个的公式是啥: 排列组合公式 如果看到这个还有一丢丢的印象,说明大家的基础都还不错.那么问题来了,大家都 ...
- 回溯算法:排列树(全排列)
排列树理论: 排列树就是给你个序列,如123,得出他的全排列,如下 123: 132: 213: 231: 321: 312: 整个算法步骤画出来就是一个树形结构,需要我们深度遍历,层向思考.什么意思 ...
- DFS算法模板-排列组合-python
DFS算法模板: def dfs(array or root, cur_layer, path, result):if cur_layer == len(array) or not root:resu ...
- java 实现 蓝桥杯 算法提高 排列数
问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下: 012.021.102.120.201.210 输入一个数n 求0~9十个数的全排列中的第n个(第1个为0123456789). 输入 ...
最新文章
- 网页爬虫 html知识,python爬虫
- python控制台清屏_Python Shell 怎样清屏?
- Java哈利波特死亡圣器下_如果编程语言是《哈利波特》中的人物
- python错误代码提示手册_腾讯大佬整理了 Python 所有内置异常,Python高手必备的排错手册...
- Configuration property name ‘fdfs.thumbImage‘ is not valid---springcloud工作笔记163
- ubuntu16.04源码编译安装nginx1.16.2
- stm32捕获占空比_「话说定时器系列」之六:STM32定时器输入捕获话题
- 四轴飞行器Bootloader和固件的更新
- python静态检查工具哪个好用_介绍几款 Python 类型检查工具
- 在鱼池终于挖到0.01的Zcash(ZEC)了,目前正在打款
- qs.stringify()详情
- qq邮箱对方服务器退回,为什么我用QQ邮箱发邮件被退回来了?他说地 – 手机爱问...
- egret 微信小游戏 分享游戏截图
- matlab lcl滤波器,LCL滤波器参数性能的比较
- 数仓搭建 DWT 层
- 使用 Blastp 和 Hmmer 筛选出包含特定结构域的蛋白
- 基于卷积神经网络和小波变换的视频监控中的火灾探测
- RTMP、RTSP、m3u8、flv 区别及含义
- 生活随记 - 房产过户与税费贷
- MSCI公布2020年度市场分类评审结果
热门文章
- 六元均匀直线阵的各元间距为_给棉花地选购滴灌带时记住这几点,不再为棉花滴水时发愁...
- layui分页limit不显示_【图片】新手 分页显示不了呀【layui吧】_百度贴吧
- Linux怎么更改声音板卡顺序,51CTO博客-专业IT技术博客创作平台-技术成就梦想
- 从WEB应用的角度,一个应用都需要维护一些不同作用范围的状态, 请问下面哪些状态作用域是WEB应用特有的:( )
- mysql 删除版本信息_linux 删除mysql
- 手机计算机数字显示在桌面上,手机计算器有哪些使用方法
- android 自定义弹窗diss,Android中自定义PopupWindow,动态弹窗。
- 输入参数_太实用!输入参数1秒算出功率,这款计算工具又快又准
- Es6学习笔记(7)----数组的扩展
- (网页)swiper.js轮播图插件