题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1942 组合数学,水题,大家都能懂,如果觉得有什么trick的话,就对照一下程序吧。 代码: #include<stdio.h> using namespace std; #define min(a,b) a<b?a:b __int64 C(__int64 a,__int64 b) { if(b>0) return C(a-1,b-1)*a/b; else return 1; } int main() { __int64 n,m; while(scanf("%I64d%I64d",&n,&m)&&(n||m)) printf("%I64d/n",C(n+m,min(n,m))); return 0; }