给定求组合数公式为:C(n,m)=m!/n!(m-n)!,编一程序,输入m和n的值 ,求C(n,m)的值
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/15 05:50:11
给定求组合数公式为: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
要求主函数调用以下函数求组合数:
int Fabricate(int m,int n); //返回C(n,m)的值
Fabricate函数内又许调用Multi函数:
int multi(int m,int n); //返回m*m-1*...*n
![给定求组合数公式为:C(n,m)=m!/n!(m-n)!,编一程序,输入m和n的值 ,求C(n,m)的值](/uploads/image/z/5113278-54-8.jpg?t=%E7%BB%99%E5%AE%9A%E6%B1%82%E7%BB%84%E5%90%88%E6%95%B0%E5%85%AC%E5%BC%8F%E4%B8%BA%EF%BC%9AC%28n%2Cm%29%3Dm%21%2Fn%21%28m-n%29%21%2C%E7%BC%96%E4%B8%80%E7%A8%8B%E5%BA%8F%2C%E8%BE%93%E5%85%A5m%E5%92%8Cn%E7%9A%84%E5%80%BC+%2C%E6%B1%82C%28n%2Cm%29%E7%9A%84%E5%80%BC)
#include
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;
}
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;
}
给定求组合数公式为:C(n,m)=m!/n!(m-n)!,编一程序,输入m和n的值 ,求C(n,m)的值
已知m,n为自然数,且m(m-n)-n(n-m)=13,求m,n的值.
已知m,n为自然数,且m(m-n)-n(n-m)=13求m,n的值.
已知m,n为自然数,m(m-n)-n(n-m)=7,求m,n的值
已知m,n为自然数,m(m-n)-n(n-m)=15,求m,n的值
求高中数学必修三组合公式C(m,n+1)=C(m,n)+C(m-1,n)
输入两个正整数M和N求最小公倍数 C程序
当m-n/m+n=3时,求代数式(3m+3n/m-n)-(m-n/m+n)^2的值为多少?
求函数Cmn=m!/(n!*(m-n)!)的程序
已知mn均为整数,且有m(m-n)-n(n-m)=12,求m,n的值,
已知m/n=5/3 求(1/m+n+1/m-n)÷1/n-n/m-n÷m+n/n的值,
已知:m/n=5/3,求(1/m+n+1/m-n)÷1/n-n/m-n÷m+n/n的值