`
wss71104307
  • 浏览: 222954 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

打印出n以内的r个数的所有组合

J# 
阅读更多
/*一个数组a[100]存放了1~100自然数,现在要求写一个函数comb(int n,int r),
   打印出n以内的r个数的所有组合,例如comb(5,3),结果是:
   1 2 3;124;125;234;...  注:123 和 321,213看做一个组合 */
#include <stdio.h>
# define MAXN 100
int a[MAXN];
void comb(int m,int k)
{ 
   int i,j;
   for (i=m; i>=k; i--)
   { 
	   a[k]=i;
       if (k>1)
           comb(i-1,k-1);
       else
	   { 
		  for (j=a[0]; j>0; j--)
          printf("%d\t",a[j]);
          printf("\n");
	   }
   }
}

void main()
{ 
	a[0]=3;
	comb(5,3);
} 
 
分享到:
评论

相关推荐

    delphi 开发经验技巧宝典源码

    0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用...

    2014c语言必做题

    - 描述:编写程序打印出ASCII码为32-126的ASCII字符(每行打印5个)。 - 关键知识点: - 输入输出操作:使用`printf`输出ASCII字符。 - 循环结构:使用`for`循环实现字符的逐个输出。 - 控制输出格式:通过...

    Python菜鸟教程图文word程序填空阅读填空程序试题.pdf

    - 遍历100以内的数,通过条件判断筛选出能被3或5整除的数,并统计个数。 13. 闰年判断: - 闰年判断条件:年份能被4整除但不能被100整除,或者能被400整除。 14. "百鸡百钱"问题: - 这是一个线性代数问题,...

    《C语言程序设计实践》课程报告.doc

    27. **完数**:检查一个数是否等于其除自身外的所有真因数之和。 28. **日期转换**:输入天数,输出对应的年、月、日。 所有这些功能需要在主函数中调用,形成一个完整的程序。在设计过程中,需要进行需求分析、...

    试卷python入门实例word程序填空阅读填空程序试题.docx

    可以使用循环遍历50以内的所有数,通过模运算判断是否为5的倍数,如果是,则累加到总和中。缺失的代码是`for i in range(50):`和`if i % 5 == 0:`,以及`total += i`。 7. **查找指定值**: 这是一个二分查找的...

    c语言 简单算法 入门

    - 找出 1000 以内所有的素数,并打印出来。 - 将 1000 以内的素数存储到数组中并输出。 - 计算 1000 以内所有素数的和。 ### 4. 求最大数 #### 知识点 - **选择结构**:使用 `if` 语句进行条件判断。 - **函数参数...

    试题python资料程序填空阅读填空程序试题.docx

    统计100以内能同时被3或5整除的数,可以使用两个循环,一个循环遍历3的倍数,一个遍历5的倍数。 ```python count = 0 for num in range(3, 101, 3): count += 1 for num in range(5, 101, 5): if num % 3 != ...

    最新JAVA编程题全集_50题及答案

    * 列出基础字符串(base)的所有组合 * @param base 以该字符串作为基础字符串,进行选择性组合。 * @param buff 所求字符串的临时结果 * @param result 存放所求结果 */ public static List&lt;String&gt; list...

    c语言试题100道.doc

    29. **平方根表**:打印100以内所有整数的平方根。 30. **打印图案**:通过控制循环和字符串输出绘制特定图形。 以上知识点是C语言学习过程中的核心部分,涵盖了基础语法、算法和逻辑思维等多个方面,对于初学者来...

    C语言编程题精选

    通过穷举所有可能的三位数组合,找到满足条件的所有a、b、c组合。主要考察了穷举算法的实现。 #### 题目九:四则运算程序 - **知识点**:字符串解析,数学运算,格式化输出 - **解析**:用户输入两个数和一个运算符...

    NCT等级测试-Python编程一级真题测试卷1图文.doc

    - 为了找出1到n之间同时是3和5的倍数的数,可以使用`range(3, n+1, 15)`,因为3和5的最小公倍数是15。 18. 随机数解决百钱白鸡问题: - 使用`random`模块生成随机数,通过循环尝试不同的组合来解决这个问题,通常...

    Java编写的趣味小程序

    本小游戏旨在从1至100之间的所有整数中,筛选出不是7的倍数且不含数字7的数,并将其打印出来。这种类型的游戏有助于提高玩家的数学敏感度和逻辑思维能力。 **功能实现** - 输入:起始数字(1至100之间)。 - 输出:...

    第二章 Linux 常用命令训练 答案

    2. **文件和目录操作**:`ls`用于列出目录内容,`cd`改变当前工作目录,`mkdir`创建新目录,`rmdir`或`rm -r`删除目录,`touch`创建新文件,`cp`复制文件或目录,`mv`移动或重命名文件和目录,`rm`删除文件,`cat`或...

    资料python一级模拟题word练习.docx

    11. **条件判断**:这段代码意在找到 100 以内所有能被 3 整除的数,因此横线上应填入 `i%3==0`。 12. **高级语言**:Python、C++ 和 Visual Basic 都是高级程序设计语言,选项 A、B、C 正确。 13. **程序基本结构...

    代码.docx C++经典考试习题

    编程打印 50 以内的所有勾股数。 #### 示例代码: ```cpp #include int main() { for (int i = 1; i ; i++) { for (int j = i + 1; j ; j++) { for (int k = 1; k ; k++) { if ((j * j + i * i) == k * k) ...

    2009 达内Unix学习笔记

    集合了 所有的 Unix命令大全 登陆服务器时输入 公帐号 openlab-open123 telnet 192.168.0.23 自己帐号 sd08077-you0 ftp工具 192.168.0.202 tools-toolss 老师测评网址 http://172.16.0.198:8080/poll/ 各个 ...

Global site tag (gtag.js) - Google Analytics