比如“1,2,3....10”,1到10这10个数,显示他的所有可能组合情况(排列顺序无所谓)
来源:互联网 发布:ubuntu16.04 网络设置 编辑:程序博客网 时间:2024/05/21 14:54
#include <stdio.h>#include <stdlib.h>#define MAX_NUM 26int comb[MAX_NUM];int c1,c2;void combination(int m,int n) { int i,j; for (i=m;i>=n;i--) { comb[n]=i; /* 选择当前的“头”元素 */. if (n>1) { combination(i-1,n-1); /* 进入下一次更小的组合问题 */. } else { /* 满了需要的组合数,输出 */. for (j=comb[0];j>0;j--) printf("%c",'A'+c1-comb[j]); printf("\n"); } } return;}int main(int argc,char **argv) { if (argc<3) { printf("%s 组合下标 组合上标\n",argv[0]); return 1; } c1=atoi(argv[1]); if (c1<1 || MAX_NUM<c1) { printf("1<=组合下标<=%d\n",MAX_NUM); return 2; } c2=atoi(argv[2]); if (c2<1 || c1<c2) { printf("1<=组合上标<=组合下标\n"); return 3; } comb[0]=c2; combination(c1,c2); return 0;}
- 比如“1,2,3....10”,1到10这10个数,显示他的所有可能组合情况(排列顺序无所谓)
- 从1到10的数中取出3个数的所有组合情况
- 1到n的所有排列情况
- 有10个数,从1到10,找出其中所有的和为20的组合
- 从1到N这N个数中取M个数,将这M个数从大到小输出,将所有的组合顺序输出
- 10个数选5个,打印所有组合情况
- 输出N个数中取M个数的所有组合,排列情况
- 46.排列的所有可能组合
- 给定两个整数n和k,返回1 ... n中k个数的所有可能组合。
- 给定n个数{1,2,3,...,n},从中选择任意两两不同的k个数,输出所有可能的组合
- 所有组合, 所有排列的模板(从n个数中选m个数的所有组合和所有排列)
- 1,2,5,10四个基数任意次数组合相加得到一个数N,求所有可能组合
- 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合
- list中的组合所有情况(无需排列,只是组合所有的情况)
- 1-n,从中选择任意两两不同的k个数,输出所有可能的组合,要求不重不漏
- 根据集合排列出所有可能组合
- 从自然数1~N里任取R个数的可能组合
- 在1到N个自然数中任取M个数的所有组合
- 项目一(静态成员应用)
- CERTI架构剖析
- Android开发之旅:HelloWorld项目的目录结构
- mdev实现U盘和SD卡的自动挂载
- Linux可执行文件执行时找不到共享库
- 比如“1,2,3....10”,1到10这10个数,显示他的所有可能组合情况(排列顺序无所谓)
- vim命令(详细)
- linux下python学习笔记(六)
- 内核部件之同步机制之原子操作
- Asterisk SIP连通测试(X-Lite eyebeam)
- Android bitmap对象序列化
- linux内核面试题
- poj 1080&&hdu 1080 human gene fucnction
- Howto install matlab on Ubuntu