2085 - 计算组合数
编制程序,输入m,n(M>=n>=0)后,计算下列表达式的值并输出:
m!
n! (m-n)!
要求将计算阶乘运算的函数写为fact(n),函数返回值的类型为float
Input
m n
Output
对应表达式的值
Examples
Input
2 1
Output
2
Solution C
#include <stdio.h> int main(int argc, char *argv[]) { float fact(int n); int m,n,result; scanf("%d%d",&m,&n); result=fact(m)/(fact(n)*fact(m-n)); printf("%d",result); return 0; } float fact(int n) { float sum=1; for(;n>0;n--) { sum*=n; } return sum; }
Solution C++
#include<stdio.h> int main() { int i,j,k; long long sum; int n,m; scanf("%d %d",&n,&m); sum=1; if(m>n/2) m=n-m; for(i=0;i<m;i++) { sum*=n-i; sum/=1+i; } printf("%lld\n",sum); return 0; }