羽笙弦


私信TA

用户名:xushengxian

访问量:747

签 名:

等  级
排  名 3900
经  验 1737
参赛次数 6
文章发表 1
年  龄 0
在职情况 学生
学  校 青岛大学
专  业

  自我简介:

TA的其他文章

解题思路:
c(m,n)=p(m,n)/n!=m!/((m-n)!*n!) 这是求解组合数的数学公式

根据公式可以将其分为三个部分 m!  (m-n)!  n!  但求这三个阶乘的思想是相同的

因此将求阶乘写成一个递归的函数。

注意事项:
在递归函数中  当参数等于0时停止   因此函数在参数等于0时返回1. 由此来标志递归函数结束

因为是求阶乘数值一般较大   将函数返回类型是long long 类型
参考代码:

#include<iostream>

using namespace std;

long long ret(long long sum)

{

    if(sum==0) return 1;

    else return sum*ret(sum-1);

}


int main()

{

    int n, m;

    while(cin >> m >> n)  //输入参数m n

        cout << ret(m)/ret(m-n)/ret(n) << endl;   //三个阶乘进行数学运算并输出

}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区