组合数

来源:互联网 发布:淘宝购物车的东西少了 编辑:程序博客网 时间:2024/05/16 11:38

时间限制:3000 ms  |  内存限制:65535 KB

难度:3
描述
找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。
输入
输入n、r。
输出
5 3
样例输出
543542541532531521432431421321
太粗心了,该题的输出不要空格,我在输出时竟然加了空格,竟然没发现这个错误,尴尬
#include<stdio.h>#include<string.h>int a[20],v[20];int n,m;void dfs(int x,int min,int r){if(x>n)return ;if(min==m){for(int i=0;i<m-1;i++)printf("%d",v[i]);printf("%d\n",v[m-1]);return ;}v[r]=a[x];//r++;dfs(x+1,min+1,r+1);dfs(x+1,min,r); }int main(){while(scanf("%d%d",&n,&m)!=EOF){int i,j=0,k;//memset(v,0,sizeof(v));for(i=n;i>0;i--)a[j++]=i;dfs(0,0,0);}return 0;}



0 0