首页 > 代码库 > 一般组合
一般组合
输入n个数,从中选出m个数可构成集合,输出所有这样的集合
输入
4 3
1 2 3 4
输出
1 2 3
1 2 4
1 3 4
2 3 4
#include<cstdio>#include<cstring>using namespace std;const int maxn = 100;int n,m;int rcd[maxn],num[maxn],vis[maxn];int read_input(){ if(scanf("%d %d",&n,&m)==EOF) return 0; for(int i=0;i<n;i++) scanf("%d",&num[i]); return 1;}void select_combination(int l,int p){ if(l==m){ for(int i=0;i<m;i++){ printf("%d",rcd[i]); if(i<m-1) printf(" "); } printf("\n"); return ; } for(int i=p;i<n;i++){ rcd[l]=num[i]; select_combination(l+1,i+1); }}int main() { while(read_input()){ select_combination(0,0); } return 0;}
一般组合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。