排列组合问题
来源:互联网 发布:nginx nodejs完美搭配 编辑:程序博客网 时间:2024/05/19 18:44
排列:
#include <stdio.h>#include <stdlib.h>void swap(int *a,int *b){int flag;flag=*a;*a=*b;*b=flag;}void print(int *s,int len){for(int i=0;i<len;i++)printf("%d ",s[i]);printf("\n");}void pailie(int *a,int length,int start,int end){if(a==NULL && length < 0)return;if(start == end)print(a,length);for(int i=start;i<length;i++){swap(&a[0],&a[i]);pailie(a,length,start+1,end);swap(&a[i],&a[0]);}}void main(){int a[3]={1,2,3};pailie(a,3,0,2);}
答案:
2 1 33 2 11 2 33 1 22 3 11 2 3
组合:
#include <time.h>#include <iostream>using namespace std;# define MAXN 100int a[MAXN];int counts=0;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 { counts++; for (j=a[0];j>0;j--) printf("%d ",a[j]); printf("\n"); } }}int main(){ int m,k; cout<<"m,k:"<<endl; cin>>m>>k; counts=0; a[0]=k; comb(m,k); cout<<counts<<endl; return 0;}
答案:
m,k:5 35 4 35 4 25 4 15 3 25 3 15 2 14 3 24 3 14 2 13 2 110Press any key to continue
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 排列组合问题
- 一个排列组合的问题
- 第一题:排列组合问题
- 字符串的排列组合问题
- UITableView 详细讲解
- Play with Floor and Ceil
- HDU 1598 find the most comfortable road 爆搜求最小差值
- 卸载Ubuntu的简单方法
- Linux select TCP并发服务器与客户端编程
- 排列组合问题
- Base -2
- Minimum Sum LCM
- Android Application对象必须掌握的七点
- javafx之两种局部界面的呈现方式
- Goahead webServer在vxworks上的移植
- poj - 1204 - Word Puzzles(AC自动机)
- 一个小小的程序员——"我"
- Cookie 和 Session 规则