java递归算法求n的阶乘代码是如何编写的?

TheDisguiser 2020-09-11 22:22:15 java常见问答 8834

在java递归算法有一道经典题目,求n的阶乘,这是每个学习递归算法的小伙伴必经的,下面我们就来看看它该怎么实现。

示例1:

import java.util.Scanner;
public class Jiecheng
{
    public static int jiecheng(int n)
    {
        //int k=1;
        //while(n!=0) {
        //    k*=n;
        //    n--;
        //}
        //return k;
        if (n == 1)
        {
            return n = 1;
        }
        else
        {
            return n * jiecheng(n - 1);
        }
    }
    public static void main(String[] args)
    {
        Scanner sca = new Scanner(System.in);
        System.out.println("请输入一个正整数:");
        int n = sca.nextInt();
        System.out.println(n + "的阶乘是: " + jiecheng(n));
    }
}

示例2:

import java.util.Scanner;
public class DiGui
{
    public static void main(String[] args)
    {
        //使用递归算法计算n的阶乘
        Scanner intput = new Scanner(System.in);
        System.out.println("请输入n的值:");
        int n = intput.nextInt();
        int i = getJ(n);
        System.out.println(i);
    }
    public static int getJ(int n)
    {
        if (n == 0)
        {
            return 1;
        }
        else
        {
            return n * getJ(n - 1);
        }
    }
}

以上就是本篇文章的所有内容,更多详细java程序代码例子敬请关注奇Q工具网了解详情。

推荐阅读:

java递归算法详解

java递归算法面试题常见有哪些?

java递归算法1加到100怎么实现?