【已解决】使用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);}