注册 登录
编程论坛 C++论坛

如何求组合数?

w2009w 发布于 2015-06-16 16:44, 363 次点击
下面是我编写的一段求解两个数的组合数的代码,但是运行结果存在错误,求解范围受到限制,例如求36!得到的结果却为零,求解释一下是什么原因:
#include<iostream>
using namespace std;
int zuheshu(int n)
{
    int i,sum=1;
    for(i=n;i>0;i--)
        sum*=i;
    return sum;
}
int main()
{
    int m,n,A,B,C,D;
    cout<<"请输入m=";
    cin>>m;
    cout<<"请输入n=";
    cin>>n;
    A=zuheshu(m);
    cout<<A<<endl;
    B=zuheshu(n);
    cout<<B<<endl;
    C=zuheshu(m-n);
    cout<<C<<endl;
    D=A/B/C;
    cout<<"从个数中抽取个数的组合数D="<<D<<endl;
    return 0;
}
正确结果:
只有本站会员才能查看附件,请 登录

错误结果:
只有本站会员才能查看附件,请 登录
1 回复
#2
凌风zx2015-06-16 17:52
如果我没认错的话  这好像是C++啊
1