NYOJ 32 组合数
2012-08-16 21:25
232 查看
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=32
思路:递归
思路:递归
#include<stdio.h> #include<stdlib.h> int a[100]; //存储大数 void f(int m, int k) { int i,j; for(i=m;i>=k;i--) { a[k]=i; if(k>1) f(i-1,k-1); else { for(j=a[0];j>0;j--) //这里用a[0]而不用k或者r是因为虽然a[0]和k或r值一样,但a[0]的值是静态的,若用k或者r,那么它们本身在循环中是变化的,就会有些值不能输出 printf("%d",a[j]); putchar('\n'); } } } int main() { int n,r; //用a[0]存放取几个数 scanf("%d%d",&n,&r); a[0]=r; f(n,a[0]); system("pause"); return 0; }