1. 用循环实现
//要求输入参数n>=m>=0
//可以证明计算中a的中间值不会超过C(n,m)*m,因此能尽量计算大一些的组合数(中间值超出int表示范围会导致计算错误)
int cnm(int n, int m)
{
int i,a;
if(m+m>n) m=n-m<
计算组合数C(n,m)的C语言代码
最新推荐文章于 2022-12-25 19:49:55 发布
1. 用循环实现
//要求输入参数n>=m>=0
//可以证明计算中a的中间值不会超过C(n,m)*m,因此能尽量计算大一些的组合数(中间值超出int表示范围会导致计算错误)
int cnm(int n, int m)
{
int i,a;
if(m+m>n) m=n-m<