gpt4 book ai didi

java - 递归问题 - 这个解决方案是否正确,是否有更简单的解决方案?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:49 26 4
gpt4 key购买 nike

我是递归的新手,我发现了以下 Java 问题:
编写一个获取整数 n 的函数,并打印数字 1!,2!,3!,...,n!。
这是我所做的,我想知道这是否是最简单的解决方案(我不确定,因为我使用“for”循环来完成)。

public static void Print(int n) {
if (n == 0) {
System.out.print("1");
} else {
int temp = 1;
for (int i = 1; i <= n, i++) {
temp = temp * i;
}
Print(n-1);
System.out.print(temp);
}
}

顺便说一句,之前的练习是使用递归编写一个函数,该函数获取整数 n 并返回 n!。你认为我需要在这里使用它并打印它而不是计算温度(n!)并打印它吗?谢谢!

最佳答案

这是一个简单的递归解决方案:

  public static long factorial(long n) {
if(n == 0 || n == 1) {
System.out.print(1 + " ");
return 1;
}

long result = n * factorial(n - 1);
System.out.print(result + " ");
return result;
}

关于java - 递归问题 - 这个解决方案是否正确,是否有更简单的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com