给定求组合数公式为:C(n,m)=m!/n!(m-n)!,编一程序,输入m和n的值 ,求C(n,m)的值

要求主函数调用以下函数求组合数:
int Fabricate(int m,int n); //返回C(n,m)的值
Fabricate函数内又许调用Multi函数:
int multi(int m,int n); //返回m*m-1*...*n

#include<stdio.h>
int Fabricate(int m,int n);
int multi(int m,int n);
void main()
{
int m,n,answer;
printf("输入m(按q退出):");
while(scanf("%d",&m))
{
printf("输入n:");
scanf("%d",&n);
if(n!=0&&m!=0)//判断m,n是否为0
{
if(m>n) //自动将大数设置为m,小数设置为n
printf( "%d\n", Fabricate(m,n));
else
printf( "%d\n", Fabricate(n,m));
printf("输入m(按q退出):");
}
else
printf("错误!重新输入,输入m:");

}

}
int Fabricate(int m,int n)
{
int sum_m=1,sum_n=1,sum_mn,sum;
int i=m,j=n;
for(int i=m;i>0;i--)//求m的阶乘
sum_m*=i;
for(int j=0;j>0;j--)//求n的阶乘
sum_n*=j;
sum_mn=multi(m,n);
return (sum_m/sum_n)*sum_mn;

}
int multi(int m,int n)
{
int sum=1;
int k=m-n;
while(k>0)
sum*=k--;
return sum;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-17
#include<iostream>
using namespace std;
int main()
{
int m,n;
int Fabricate(int m, int n);
while(cin>>m>>n)
cout<<Fabricate(m,n)<<endl;
return 0;
}

int Fabricate(int m, int n)
{
int Multi(int m, int n);
cout<<Multi(m,n)<<endl;
if(n>m-n) return Multi(m,n+1)/Multi(m-n,1);
else return Multi(m,m-n+1)/Multi(n,1);
}
int Multi(int m,int n)
{
if(m<n) return 1;
if(m==n) return n;
return m*Multi(m-1,n);
}

给定求组合数公式为:C(n,m)=m!\/n!(m-n)!,编一程序,输入m和n的值...
给定求组合数公式为:C(n,m)=m!\/n!(m-n)!,编一程序,输入m和n的值 ,求C(n,m)的值 5 要求主函数调用以下函数求组合数: int Fabricate(int m,int n); \/\/返回C(n,m)的值 Fabricate函数内又许调用Multi函数: int multi(int m,int n); \/\/返回m*m-1*...*n hblwan | 浏览2721 次 |举报 ...

给定求组合数公式为:C(n,m)=m!\/n!(m-n)!,编一程序,输入m和n的值...
int sum_m=1,sum_n=1,sum_mn,sum;int i=m,j=n;for(int i=m;i>0;i--)\/\/求m的阶乘 sum_m*=i;for(int j=0;j>0;j--)\/\/求n的阶乘 sum_n*=j;sum_mn=multi(m,n);return (sum_m\/sum_n)*sum_mn;} int multi(int m,int n){ int sum=1;int k=m-n;while(k>0)...

...=m!\/n!(m-n)!,编一程序,输入m和n的值,求Cmn的值。要用Sub过程_百度...
c1) : Call fac(n, c2) : Call fac(m - n, c3)Cmn = c1 \/ (c2 * c3)Console.Write("Cmn={0}", Cmn)End SubEnd Module

组合数公式是什么呢?
组合公式:C(n,m)=n!\/m!(n-m)。组合计算公式组合数公式是指从n个不同元素中,任取m(m≤n)个元素并成一组,叫作从n个不同元素中取出m个元素的一个组合。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。举例说明:例如;在一次歌唱比赛中,某学校有12人通过了初试,...

cmn排列组合公式是什么?
cmn公式是m>n。排列组合c的公式:C(n,m)=A(n,m)\/m!=n!\/m!(n-m)!与C(n,m)=C(n,n-m)。(n为下标,m为上标)。排列组合是组合学最基本的概念。所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。排列...

组合数怎么求?
排列组合中的C计算公式为:C(n,m)=n!\/(m!(n-m)!)。其中n!表示n的阶乘,即n×(n-1)×(n-2)×...×3×2×1。举个例子,如果需要从5个不同的元素中取出3个元素进行组合,那么C(5,3)的计算方法为:C(5,3)=5!\/(3!×2!)=10。这个公式的意思是,从5个不...

...n和m,计算从n个物-|||-品中取出m个物品的组合数,要求
C(n,m) = n! \/ [m! * (n-m)!]其中,n!表示n的阶乘,即n*(n-1)*...*2*1。接下来,我们可以使用以下Python代码实现输入两个整数n和m,并计算从n个物品中取出m个物品的组合数:```python import math 输入n和m n = int(input("请输入第一个整数n:"))m = int(input("请输入...

组合的公式是什么呢?
组合公式:C(n,m)=n!\/m!(n-m)。组合计算公式组合数公式是指从n个不同元素中,任取m(m≤n)个元素并成一组,叫作从n个不同元素中取出m个元素的一个组合。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。公式有时候也表示成:组合公式的推导是由排列公式去掉重复的...

组合的计算公式
组合的计算公式是:C(n,m)=A(n,m)\/m。组合的计算公式中C(n,m)表示从n个不同元素中选取m个元素的组合数,A(n,m)表示从n个不同元素中选取m个元素的排列数,m表示选取的元素个数。组合数是指从n个不同元素中选取m个元素的所有组合的个数,其中不考虑元素的顺序。因此,组合数的...

组合数学有关知识点?
2. 组合数的计算公式为C(n, m) = n! \/ [m!(n - m)!],其中n!代表n的阶乘,即n * (n - 1) * ... * 1,m!和(n - m)!同理。3. 一个具体的例子是C(4, 2),计算过程是4! \/ [2! * (4 - 2)!] = (4 * 3 * 2 * 1) \/ [(2 * 1) * (2 * 1)] = 4...

相似回答