junjiedada
junjiedada
2021-04-22 17:01
采纳率: 100%
浏览 49

C语言 排列组合问题

最后要怎么写啊

编写程序,根据主函数内容,补充完成各函数定义,计算阶乘、组合数与排列数,并进行测试。

其中排列Pmn=m!/(m-n)!,组合Cmn=m!/(n!*(m-n)!)

 

#include "stdio.h"
int fact(int n);   //阶乘函数
int cmn(int m,int n);  //组合函数
int pmn(int m,int n);   //排列函数

main()
{
	int m,n,comb,perm;
	scanf("%d %d",&m,&n);
	
	comb=cmn(m,n);
	perm=pmn(m,n);
	
	printf("comb(%d,%d)=%d\n",m,n,comb);
	printf("perm(%d,%d)=%d\n",m,n,perm);
}

@@1
@@1
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_46523755
    正在学C++ 2021-04-22 17:23
    已采纳
    #include "stdio.h"
    int fact(int n){//阶乘函数
        int i=1, sum=1;
        while (i<=n) sum *= i++;
        return sum;
    }
    int cmn(int m,int n){//组合函数
        return fact(m)/(fact(n)*fact(m-n));
    }
    int pmn(int m,int n){//排列函数
        return fact(m)/fact(m-n);
    }
    
    int main()
    {
        int m,n,comb,perm;
        scanf("%d %d",&m,&n);
    
        comb=cmn(m,n);
        perm=pmn(m,n);
    
        printf("comb(%d,%d)=%d\n",m,n,comb);
        printf("perm(%d,%d)=%d\n",m,n,perm);
    }
    点赞 1 评论
  • it_xiangqiang
    C和C++技术博客 2021-04-26 20:00

    C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
    C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html

    点赞 1 评论

相关推荐