宇宙第一小仙女\(^o^)/~~萌量爆表求带飞=≡Σ((( つ^o^)つ~dalao们点个关注呗~~
Problem is coming~~~~
Description
一日,飞花壕大手一挥,买了N个的两两不相同糖果,他想要拿出M个糖果送给他心仪的程序媛,他有多少种可以选择的方案?
例如,飞花壕有4块糖果,分别为①、②、③、④。他要选出3块送给他心仪的程序媛,他有四种选择,分别是①、②、③, ①、②、④, ①、③、④, ②、③、④ 这四种选择。
Input
多组输入。对于每组输入,有两个整数N、M(1 <= N、M <= 10),分表代表有N个糖果,要选择拿出M个送给他心仪的程序媛。
Output
Sample Input
4 3 5 2
Sample Output
4 10
emmm....我都想吃糖了......but吃糖会长胖的哟yo~
思路:其实就是高中数学排列组合那个章节里的C几几公式,Cmn(n上m下)=m! / [ (m-n)!*n!]
--------------------------------------------------------------------我还是一条可爱的分界线----------------------------------------------------------------------------
#include<bits/stdc++.h>
int main()
{
int i,m,n,a,b;
while(scanf("%d%d",&n,&m)!=EOF){
a=1;b=1;
for(i=n;i>=n-m+1;i--)
a*=i;
for(i=1;i<=m;i++)
b*=i;
printf("%d\n",a/b);
}
return 0;
}
常规hint一下:阶乘结果容易超限,根据题目int 还是long int还是long long int自己看着来咯~而且分子分母也可以约分的哟yo~
欢迎访问https://blog.csdn.net/lxt_Lucia~~
宇宙第一小仙女\(^o^)/~~萌量爆表求带飞=≡Σ((( つ^o^)つ~dalao们点个关注呗~~