nyoj32 组合数

 1 #include<stdio.h>
 2 int a[10];
 3 void f(int n,int r)//r用来记录还有多少数字有待寻找 
 4 {
 5     for(int i=n;i>0;--i){
 6         a[r]=i;
 7         if(r>1)
 8             f(i-1,r-1);//i-1不能换成n-1,否则会出现前面小于后面的情况,这样才能使得后面的绝对小于前面的 
 9         else{
10             for(int j=a[0];j>0;--j)
11                 printf("%d",a[j]);
12             printf("\n");
13         }
14     }
15 }
16 int main()
17 {
18     int n,r;
19     scanf("%d%d",&n,&r);
20     a[0]=r;
21     f(n,r);
22     return 0;
23 }

posted on 2012-08-15 16:15  小花熊  阅读(283)  评论(0编辑  收藏  举报

导航