求n!的算法

作者: C语言中文社区 | 来源:发表于2019-07-03 23:40 被阅读3次

n!算法的代码如下:

package interview;

public class Factorial {
    public static void main(String[] args) {
        long n = 5;
        System.out.println(doFactorial(n));
    }
    
    public static long doFactorial(long n) {
        if (n < 1) {
            System.out.println("ERROR!");
            return 0;
        }else if (n == 1 || n == 2) {
            return n;
        }else {
            return n * doFactorial(n -1);
        }
    }
}

代码执行结果如下:


相关文章

  • 求n!的算法

    n!算法的代码如下: 代码执行结果如下:

  • [刷题记录] 剑指 Offer 64 - II. 求1+2+…+

    2021.11.24算法笔记 剑指 Offer 64 - II. 求1+2+…+n 求 1+2+...+n ,要求...

  • Manacher算法(马拉车算法)

    Manacher算法(马拉车算法) Manacher算法,又叫“马拉车”算法,可以在时间复杂度为O(n)的情况下求...

  • 算法时间复杂度学习

    算法时间复杂度学习 1. 算法 算法:是用于解决特定问题的一系列的执行步骤。 举例: 简单的求两数之和,以及求n个...

  • 求n次方的高效算法

    注:次幂n为整数,底数可以是整数、小数、矩阵等(只要能进行乘法运算的 举个求整数的n次方的例子(Go语言版):

  • 最大子串问题

    给定N个整数的序列 {A1,A2, A3,...,AN}, 求函数 的最大值。 算法一 算法二 算法三分而治之...

  • 2018-07-25

    求最大子序列和问题的四种算法 定义:给定整数A_{1},A_{2},A_{3},……,A_{N}(可能有复数),求...

  • map:169.求众数(投票算法)

    求众数 哈希Map 复杂度分析 时间复杂度:O(N) 空间复杂度: O(N) 投票算法 复杂度分析

  • 面试题【Day16】

    递归算法 1,简单练习 1,求1-100的和 2,求1 3 5 7 9奇数的和 3,求第n项的和 斐波那契数列 (...

  • 斐波那契

    1、O(n)的算法 2、O(2^n)的算法 3、O(1)的算法 4、O(log n)的算法 参考: https:/...

网友评论

    本文标题:求n!的算法

    本文链接:https://www.haomeiwen.com/subject/vhnhhctx.html