要求:利用递归算法求出N个数,并从1-N这N个数中,任意取M个数(1<M<N)的所有组合情况,用递归实现!

#include<stdio.h>

const int MAX = 10;
int g[MAX],N,M;
void dfs(int n,int m)
{
//int sum;//和 
for(int i=n;i>=1;i--)
{
g[m] = i;
if(m>1)
{
dfs(i-1,m-1);
}
else
{
for(int j=1;j<=M;j++)
{
printf("%d",g[j]);
//sum+=g[j]; 
}
/*
if(sum == n)
{
for(int j=i;j<=M;j++)
{
printf("%d",g[j]);
}
printf("\n");
}
*/
printf("\n");
}
}
}

int main()
{
/*
N=5,M=3;
dfs(N,M);
*/

printf("请输入和:");
scanf("%d",&N);
for(M=2;M<N;M++)
{
dfs(N,M);
}

return 0;

}

转载于:https://blog.51cto.com/dingxiaowei/1366460

N个数中选择M个数的组合(1MN)相关推荐

  1. (DFS)求出n个数中选择m个数的所有可能

    // step 已选的元素个数 //pinum 要选的元素的数量 // picked 选的元素 int n,num[N],picked[N],pinum; void pick(int step,int ...

  2. 从n个数中选取m个数的所有组合

    题目: n个数1,2,...,n,从这n个数中任意选m个数,输出所有不同组合,共有C(n,m)种不同组合.如n=4,m=2,会产生如下输出: 1 2 1 3 2 3 1 4 2 4 3 4如n=5,m ...

  3. Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合

    7.28(数学:组合) 题目 题目描述 破题 代码 运行示例 题目 题目描述 *7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合 破题 声明一个长 ...

  4. [算法] 求排列组合: 从n个数中任选m个数组成一个新数

    #include <iostream> #include <vector>using namespace std;// 求排列组合算法: C(n, m): 从n个数中任选m个数 ...

  5. Nono从一开始数数,他每数一个数时会计算这个数中1的个数(如211中有两个1)并对1的个数进行累和,当1的个数之和不小于x时,Nono就要起床了。特别需要注意的是,当Nono数数达到10000时,N

    [题目描述] 众所周知,Nono是一只喜欢睡懒觉的熊猫."我曾经也是早睡早起,直到我膝盖中了一箭",Nono如是解释道.现在Nono又遇到了一个难题:他睡醒了-但是显然,Nono并 ...

  6. c语言while输入n求n个奇数,任意输入n个整数,输出这n个数中的奇数个数和偶数个数.用while语句...

    C语言 输入n并输入n个数,输出这n个数中的所有奇数的乘积 #includevoidmain(){inti,n,arr[100],mul=1;printf("请输入n值:");sc ...

  7. java 10的倍数_java实现 在5个数中找到3个数的和是10的倍数

    //聚光 //在数据中找出3个数,使得三个数的和为10的倍数:若是10的倍数则观察另外两个数的和是否能被10整除若能返回INTEGER的最大值,否则返回余数 : import java.util.*; ...

  8. 从n个数中选出m个数的组合

    找出从自然数1,2,3,-,n中任取m个数的所有组合.例如:n=5,m=3时,所有组合为543,542,541,532,531,521,432,431,421,321. #include<ios ...

  9. 5个数中取三个数组合 不重复 php,PHP产生不重复随机数的5个方法总结

    <:PHP产生不重复随机数的5个方法总结>要点: 本文介绍了:PHP产生不重复随机数的5个方法总结,希望对您有用.如果有疑问,可以联系我们. 随机数都有其用武之地.在最近接触的几个小项目中 ...

最新文章

  1. 20155222卢梓杰 实验三 免杀原理与实践
  2. webp-imageio 如何编译及使用
  3. 简单的java单位换算_单位换算示例代码
  4. javax.naming.NoInitialContextException: Need to specify class name in environment or system property
  5. 如何开启需要的垃圾收集器
  6. 万字长文讲解编码知识,看这文就够了!| 原力计划
  7. 《软件架构与设计模式》思维导图
  8. 腾讯云短信服务报错FailedOperation.TemplateIncorrectOrUnapproved
  9. AVI视频文件编码格式不受支持0xc00d5212怎么解决?
  10. OSPF P2MP 扩展知识
  11. centerX: 用中国特色社会主义的方式打开centernet
  12. 信息搜集:网络空间搜索引擎(Shodan)语法及API应用案例
  13. 安全认证框架Shiro (二)- shiro过滤器工作原理
  14. 兼容IE系列浏览器的CSS Hack
  15. 苹果无线耳机连接不上_苹果AirPods Pro鉴别真伪最简单有效的方法
  16. html 特殊字符 三角形,特殊字符
  17. windows键按了没反应_教你如何从Windows无缝衔接到MacOS
  18. 鸿蒙智慧屏pro,鸿蒙OS带来了什么?荣耀智慧屏PRO现场轻体验
  19. Unity3D里实现可以朝向另一目标广告牌(billboard)效果
  20. ADI Blackfin DSP处理器-BF533的开发详解55:CVBS输入-DSP和ADV7180的应用详解(含源码)

热门文章

  1. python 无法引用 tensorflow.keras_win10+anaconda安装tensorflow和keras遇到的坑小结
  2. java 状态机_基于 RAFT 一致性算法的 Java 实现 SOFAJRaft
  3. axios获取图片显示_vue中使用axios post上传头像/图片并实时显示到页面的方法
  4. c mysql并行多条sql_Linux上使用C语言执行多条SQL命令访问MYSQL数据库的有关问题...
  5. 字节跳动 java面经_字节跳动Java面经(已offer)
  6. python向上取整_Python 之 向上取整、向下取整以及四舍五入函数
  7. 手机的小窗口怎么弄_做一个表白小程序
  8. liferay spring mvc的实现
  9. 基金委托管理系统试题
  10. 实战|记一次绕过宝塔防火墙的BC站渗透