计算组合数
Problem Description
計(jì)算組合數(shù)。C(n,m),表示從n個(gè)數(shù)中選擇m個(gè)的組合數(shù)。
計(jì)算公式如下:
若: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
第一行是正整數(shù)N,表示有N組要求的組合數(shù)。接下來(lái)N行,每行兩個(gè)整數(shù)n,m (0 <= m <= n <= 20)。
Output
輸出N行。每行輸出一個(gè)整數(shù)表示C(n,m)。Example Input
3 2 1 3 2 4 0Example Output
2 3 1 #include <stdio.h> #include <stdlib.h> int c(int n,int m) {if(m==0)return 1;else if(n==1)return 1;else if(m==n)return 1;elsereturn c(n-1,m-1)+c(n-1,m); } int main() {int t,i,m,n;scanf("%d",&t);for(i=1;i<=t;i++){scanf("%d%d",&n,&m);printf("%d\n",c(n,m));}return 0; }總結(jié)
- 上一篇: 多行书写的字符串字面值
- 下一篇: MyBatis之使用resultMap实