求组合数 下面的博客写了好几种方法 http://hi.baidu.com/peacefulby/blog/item/3a4b4dc9409c5b1f7f3e6fc2.html #include<iostream> using namespace std; __int64 C(__int64 a,__int64 b) { if(b==0) return 1; else if(b==1) return a; else return C(a-1,b-1)*a/b; } int main() { __int64 n,m; while(scanf("%I64d%I64d",&n,&m)) { if(n==0&&m==0) break; printf("%I64d/n",C(n+m,n<m?n:m)); } return 0; }