计算组合数 (sdut oj)

来源:互联网 发布:淘宝如何申请中国制造 编辑:程序博客网 时间:2024/06/07 10:51


计算组合数

Time Limit: 1000MS Memory Limit: 32768KB

Problem Description

计算组合数。C(n,m),表示从n个数中选择m个的组合数。
计算公式如下:
若:m=0,C(n,m)=1
否则, 若 n=1,C(n,m)=1
             否则,若m=n,C(n,m)=1

                         否则 C(n,m) = C(n-1,m-1) + C(n-1,m).


Input


第一行是正整数N,表示有N组要求的组合数。接下来N行,每行两个整数n,m (0 <= m <= n <= 20)。

Output

输出N行。每行输出一个整数表示C(n,m)

Example Input

32 13 24 0

Example Output

231

Hint


Author






参考代码:


#include<stdio.h>int c(int n,int m){   if( m == 0 || n == 1 ||  m == n )   return 1;   else   return c(n-1,m)+c(n-1,m-1);}int main(){     int t;     int n,m;     scanf("%d",&t);     while(t--)     {         scanf("%d%d",&n,&m);         printf("%d\n",c(n,m));     }     return 0;}



0 0
原创粉丝点击