当前位置:编程学习 > C/C++ >>

C++中有专门的组合数的计算函数吗?

答案:没有 不过给你copy了一个过来 - - 大数的 自己去百度。。。 函数名你自己改吧 非递归: #include <iostream> using namespace std; long C(long m, long n) { long result=1; if (n>m-n) { n=m-n; //C(m,n)==C(m,m-n) 取较小的来计算 } for (int i=1;i<=n;i++) { result*=(long)((double)(m-n+i)/i);// } return result; } int main() { long m,n; while (cin>>n>>m) { cout<<C(m,n)<<endl; } //system("pause"); return 0; } 递归: long C(int m, int n) { if (n==1||n==0) return m; return (double)C(m-1,n-1)*m/n; } int main() { long m,n; while (cin>>m>>n) { cout<<C(m,n)<<endl; } system("pause"); return 0; }

上一个:mfc读取文件的问题..
下一个:opencv编写的小游戏去黑框。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,