c语言求组合函数,求组合数

C语言中组合公式的编程

int function(int n,int m)

成都创新互联公司-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、绵阳电信机房、等保安全、私有云建设等企业级互联网基础服务,欢迎联系:18982081108

{

int i, ret = 1;

for(i=0;im;i++)

ret *= (n-i);

return ret;

}

void main(void)

{

int n = 15, m =5;

int ret;

ret = function(15,5) / function(5,5);

printf("%d\n",ret);

}

用C语言求组合数

实现的算法很多, 下面给出一个不需要递归的算法; 需要设计两个函数。

unsigned long factorial (unsigned long n);

long long perm(unsigned long m, unsigned long n);

unsigned long factorial (unsigned long n)

{

unsigned long value = (n == 0) ? 1 : n;

while( n = 2 )

value *= --n;

return value;

}

long long perm(unsigned long m, unsigned long n)

{

if (m n)

return -1;

else

return (unsigned long) (factorial(n)/factorial(n-m));

}

只为了mn就要返回-1, 有点浪费啊~~~

注意求值范围, 如果需要可以int64扩展。。。

C语言求组合数

double fact(long num)

{

for (long i = 1; num  0; num--)

{

i *= num;

}    

}

int main()

{

long m;

long n;

long C;

scanf("%ld %ld", m, n);

C = fact(n) / ((fact(m)) * fact(n-m));

printf("%ld",C);

return 0;

}


本文标题:c语言求组合函数,求组合数
文章分享:http://bzwzjz.com/article/dsiiigg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站制作报价 营销网站建设 成都模版网站建设 成都网站建设 成都网站设计 成都网站设计制作公司 企业网站制作 网站设计制作 移动网站建设 成都网站建设 成都网站建设公司 网站制作 成都网站制作 成都品牌网站建设 成都网站制作 网站建设 营销型网站建设 高端网站设计 高端网站设计推广 网站建设 外贸营销网站建设 成都网站建设公司