Java 题解 | #牛群全排列数#

牛群全排列数

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @return int整型
     */
    long ans = 1;
    final int mod = 1000000007;

    public int factorial(int n) {
        for (int i = 2; i <= n; ++i) {
            ans = (ans * i) % mod;
        }
        return (int) ans;
    }
}

Java编程语言。

这道题考察了计算阶乘的问题。猛地一看有点像力口的斐波那锲数,还得mod1000000007,其实就是考个阶乘,循环或者递归。

代码的文字解释如下:

  • 在类的定义中,定义了一个成员变量 ans 和一个常量 mod。ans 初始值为1,mod 的值为1000000007,这是用于取模运算的常量。
  • 函数名为 factorial,接受一个整数参数 n。在函数内部,使用循环从2到 n 遍历所有整数,并将每个整数乘以 ans,然后对 mod 取模,最后将结果赋值回 ans。这样可以逐步计算出 n 的阶乘。循环结束后,将 ans 强制转换为 int 类型,并作为返回值返回。
全部评论

相关推荐

01-16 18:34
四川大学 Java
欢迎加入AI:没有啥稳定不稳定,一切都源于业务快速发展还是收缩。我当年一开始去的央企,业务不赚钱,也贼卷,慢慢就开始优化了。。。
点赞 评论 收藏
分享
01-16 10:30
已编辑
华南师范大学 Java
在offer比较的秋田犬很机智:难绷的是挂了之后 hr加我vx通知我复活😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务