题解 | #牛群全排列数#

牛群全排列数

https://www.nowcoder.com/practice/5ab233c23fcc4c69b81bd5a66c07041c

考察的知识点:递归;

解答方法分析:

  1. 函数中使用了三目运算符,判断n是否小于等于1。如果是,则返回1,表示阶乘的结束条件。
  2. 如果n大于1,那么计算表达式((long long)n * factorial(n-1)) % 1000000007的值。((long long)n * factorial(n-1))表示将n乘以调用函数factorial的结果,即递归调用。最后对该值取模1000000007,以避免溢出并保证结果在合理范围内。
  3. 返回计算得到的结果。

所用编程语言:C++;

完整编程代码:↓

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @return int整型
     */
    int factorial(int n) {
        return n <= 1 ? 1 : ((long long)n * factorial(n-1)) % 1000000007;
    }
};

全部评论

相关推荐

06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务