| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 363 人关注过本帖
标题:如何求组合数?
取消只看楼主 加入收藏
w2009w
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:190
专家分:542
注 册:2015-4-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
如何求组合数?
下面是我编写的一段求解两个数的组合数的代码,但是运行结果存在错误,求解范围受到限制,例如求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;
}
正确结果:
图片附件: 游客没有浏览图片的权限,请 登录注册

错误结果:
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include return 如何 include return 如何 
2015-06-16 16:44
快速回复:如何求组合数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016139 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved