哪位大大会用C++主函数调子函数写出n!/[n!(n-m)!]
答案:3 悬赏:40 手机版
解决时间 2021-05-16 17:18
- 提问者网友:不爱我么
- 2021-05-16 08:38
简单一点的,初学者能够接受的,不胜感激
最佳答案
- 五星知识达人网友:蕴藏春秋
- 2021-05-16 10:00
用递归做,就是要求组合数吧,有组合的性质降阶处理就好啦
#include<iostream>
using namespace std;
int combining(int n,int m) //求下标为n,上标为m的组合数
{
if(m==n)
return 1;
else
{
if(m==1)
return(n);
if(m==0)
return 0;
if(m>1)
return combining(n-1,m-1)+combining(n-1,m);
}
}
int main()
{
int n,m;
cout<<"请输入数据,右下角数:";
cin>>n;
cout<<"右上角数为:";
cin>>m;
cout<<combining(n,m);
return 0;
}
全部回答
- 1楼网友:三千妖杀
- 2021-05-16 11:51
#include<iostream> #include<cstdlib> using namespace std;
double jiecheng( int n ) { double resault=1; for( int i=2; i<=n; i++) { resault *= i; } return resault; }
int main( int argc , char *argv[] ) { int m,n; cin >> m >> n; cout << jiecheng(n) / (jiecheng(m) * jiecheng(n-m)) << endl;
system("pause"); return 0; }
- 2楼网友:零点过十分
- 2021-05-16 10:55
#include <iostream.h>
int jiecheng(int m,int n)
{
int i,s1=1,s2=1,s3=1;
for(i=1;i<=n;i++)
s1=s1*i;
for(i=1;i<=m;i++)
s2=s2*i;
for(i=1;i<=n-m;i++)
s3=s3*i;
return s1/(s2*s3);
}
int main()
{
int m,n;
cin>>n>>m;
cout<<jiecheng(m,n)<<endl;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯