自学内容网 自学内容网

【已解决】使用JAVA语言实现递归调用-本关任务:用循环和递归算法求 n(小于 10 的正整数) 的阶乘 n!。

本关任务:用循环和递归算法求 n(小于 10 的正整数) 的阶乘 n!。

测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:

测试输入:10

预期输出:

递归算法求得10! = 3628800
循环算法求得10! = 3628800

代码实现

  package step3;
  import java.util.Scanner;
  public class Factorial {



 // 递归算法计算阶乘
    private static long factorialRecursive(int n) {
        if (n == 0 || n == 1) {
            return 1;
        } else {
            return n * factorialRecursive(n - 1);
        }
    }

    // 循环算法计算阶乘
    private static long factorialIterative(int n) {
        long result = 1;
        for (int i = 1; i <= n; i++) {
            result *= i;
        }
        return result;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();  // 读取输入的n值
        scanner.close();
        // 递归方法计算阶乘
        long recursiveResult = factorialRecursive(n);
        System.out.println("递归算法求得" + n + "! = " + recursiveResult);

        // 循环方法计算阶乘
        long iterativeResult = factorialIterative(n);
        System.out.println("循环算法求得" + n + "! = " + iterativeResult);
    }




原文地址:https://blog.csdn.net/qq_43055855/article/details/142471821

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!