Java 求分数和的递归
我想写一个递归来求分数之和: 例如: 投入:3 输出:1/1+1/2+1/3,等于1.83333。。。。 这就是我现在拥有的:Java 求分数和的递归,java,Java,我想写一个递归来求分数之和: 例如: 投入:3 输出:1/1+1/2+1/3,等于1.83333。。。。 这就是我现在拥有的: import java.util.Scanner; public class fsd{ public static void main(String[] args) { Scanner k = new Scanner(System.in); double a = 0; int n = k.nextInt(); for (int i = 1
import java.util.Scanner;
public class fsd{
public static void main(String[] args) {
Scanner k = new Scanner(System.in);
double a = 0;
int n = k.nextInt();
for (int i = 1; i <= n; i++) {
a = getSum(i);
System.out.println(a);
}
}
public static double getSum(int i) {
if (i > 1) {
double curStep = 1 / (i + 1.0);
return curStep + getSum(i - 1);
} else if (i == 1) {
return 1;
} else {
return 0;
}
}
}这是我的解决方案,它很有效
import java.util.Scanner;
public class fsd {
public static void main(String[] args) {
Scanner k = new Scanner(System.in);
double a = 0;
int n = k.nextInt();
for (int i = 1; i <= n; i++) {
a = getSum(i);
System.out.println(a);
}
}
public static double getSum(int i) {
if (i > 1) {
double curStep = 1.0 / (i);
return curStep + getSum(i - 1);
} else if(i == 1) {
return 1;
} else {
return 0;
}
}
//1+(1+1/3) + (1+1/3+1/4)
}
看起来不错。有什么问题?