组合数(nyoj32)
组合数
- 描述
-
找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。
- 输入
- 输入n、r。
- 输出
-
按特定顺序输出所有组合。
特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。 - 样例输入
-
5 3
- 样例输出
-
543 542 541 532 531 521 432 431 421 321
代码
//不需要回溯 只用递归(从大到小)#include<stdio.h>#define MAXSIZE 10
int array[MAXSIZE];
int n, r;void back(int num_1, int num_2);int main()
{int i;scanf("%d%d", &n, &r);for(i = n; i >= r; i--){array[0] = i; //只能在置array【0】的值 若果放在下面会出现555 444 333 之类的组合back(i, 1);}return 0;
}void back(int num_1, int num_2)
{int i;if(num_2 == r){for(i = 0; i < r; i++)printf("%d", array[i]);printf("\n");}else{for(i = num_1 - 1; i > 0; i--){array[num_2] = i;back(i , num_2 + 1); //不用标记数组 因为直接再次覆盖了不用的数据}}
}
组合数(nyoj32)相关推荐
- Codeforces Beta Round #95 (Div. 2) 部分解题报告 (dp,组合数,)
做这样的比赛既考快速编码的能力,还有快速思维的能力.本人很弱,跌了rating..加油!!!.. 第一题上来就把题意理解错了..粗心啊..直接模拟着做就行:1:如果字符串全是大写字母就进行大小写转换: ...
- [CQOI2014]数三角形 组合数 + 容斥 + gcd
推导过程 : 组合数+容斥原理+gcd 正确做法是暴力的一种优化,ans=所有情况 - 平行坐标轴的三点共线 - 斜线三点共线 如果快速求斜线三点共线: 首先要知道一个结论,对于点(a,b) (x,y ...
- 多重集表示合json数据_计数DP(划分数,多重集组合数)
划分数:把n个无区别的物品划分成不超过m组. dp[i][j]=j的i划分的总数. dp[i[j]=dp[i][j-i]+dp[i-1][j] 即:将j个物品分成i份,有两种情况:每份划分都大于等于1 ...
- 【ACM】杭电OJ 4704 Sum (隔板原理+组合数求和公式+费马小定理+快速幂)
http://acm.hdu.edu.cn/showproblem.php?pid=4704 1.隔板原理 1~N有N个元素,每个元素代表一个1.分成K个数,即在(N-1)个空挡里放置(K-1)块隔板 ...
- [Leetcode] Combinations 组合数
Combinations Given two integers n and k, return all possible ombinations of k numbers out of 1 ... n ...
- 组合数函数-快速提取所有可能的组合数
组合数:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数. 代码: str_comb <- function(vector){n <- le ...
- 不使用递归求全排列和组合数
同学遇到的面试问题,大意是M台机器放在N个房间,不使用递归求打印所有情况 解题思路:情况共计N**M种.开始想将所有情况放入数组,填充好数组再逐个打印.随后发现按照填充的思路,不使用大数组也可以实现. ...
- 使用C#.NET列举组合数前N项和
列举如下列所示的组合数前N项和,代码如下(递归方法里注意去重): 1 static void Main(string[] args) 2 { 3 List<string> list = G ...
- 洛谷P1036选数(素数+组合数)
题目链接:https://www.luogu.org/problemnew/show/P1036 主要考两个知识点:判断一个数是否为素数.从n个数中选出m个数的组合 判断一个数是否为素数: 素数一定是 ...
最新文章
- Curator Cache
- 使用Python+OpenCV进行图像处理之入门教程
- NC:菌物组构建---随机性v.确定性、干旱胁迫、宿主筛选、统一动态(郭良栋、杨军点评)
- pandas分层索引(层级索引、MultiIndex)的创建、取值、切片、统计计算以及普通索引和层级索引的转换方法
- AI教父杰弗里辛顿:AI反学习可能揭开人类梦境的奥秘
- 《科学》:中国科学家揭示,人脑中间神经元多样性从何而来?
- 对图像数据最主要的预处理: Resize
- arcgis运行python脚本一段时间后会卡,为什么这个python多处理脚本在一段时间后会变慢?...
- Apache RocketMQ部署文档
- 数据分析方法有哪些_数据分析方法
- 云服务器 ECS(CentOS) 安装 Node
- iOS限制文本输入长度进阶之 一
- modbus调试工具 linux,Modbus测试工具 :Modbus Poll,Modbus Slave
- 从 Google play 商店直接下载 apk 安装包
- 老打印机USB改无线连接
- linux rpm是什么意思中文,rpm是什么意思
- 用户计算机MAC地址在哪看,怎么查看本机mac地址_电脑mac地址在哪里
- 男人帮所有手机铃声下载|左永邦手机铃声下载,顾小白手机铃声下载,米琪手机铃声下载,艾米手机铃声下载...
- 华为鸿蒙国内厂商适配,华为再放大招!鸿蒙系统将适配高通/联发科手机:获国产厂商力挺...
- mybatis报错:argument type mismatch
热门文章
- eclipse编译android工程提示无翻译字符串错误的忽略方法
- uva 820 Internet Bandwidth
- (转)教你记住ASP.NET WebForm页面的生命周期
- 给Lisp程序员的Python简介
- 【python】导入HTMLTestRunner失败---报错ModuleNotFoundError: No module named ‘HTMLTestRunner‘
- Java实现数组交换
- 9.Springcloud的Hystrix服务熔断和服务降级
- svm gui安装 matlab,svm_matlab_gui 支持向量机matlab工具箱(含资料及gui模式)用于分类和回归预测 - 下载 - 搜珍网...
- ggspatial | ggplot2的地图制作拓展包(1):如何添加指北针和比例尺
- postman在线测试_如何选择适合自己的自动化测试工具?