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