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 }