gpt4 book ai didi

java - 递归求前 k 个序列之和 1 + (1/2)-(1/3)+(1/4)......(1/k)

转载 作者:行者123 更新时间:2023-12-04 06:11:10 25 4
gpt4 key购买 nike

我正在尝试编写一个递归方法,该方法除了整数参数 k 并返回为该系列的前 k 项总和的两倍,例如:1 + (1/2)-(1/3)+(1/4 )......(1/k)。我已经写了几种递归方法,但这一个让我难堪。我的方法设置正确吗?我的主要问题是我不知道应该在 **sumHelper 方法中创建什么变量以及如何操作它们。请帮忙!会大大

public static double sum (int k){
if(k == 0) return 0;
if(k == 1) return 1 + (1.0/2);

double total = 1 + sumHelper(k);
return total;

}

public static double sumHelper(int k) {
if (k == 2) return 1.0/k;


return ; ????

最佳答案

也许沿着这些路线

public static double sum(int k) {
if (k <= 0) return 0;
if (k == 1) return 1;
if (k % 2 == 0)
return 1.0/k + sum(k-1);
else
return -1.0/k + sum(k-1);
}

关于java - 递归求前 k 个序列之和 1 + (1/2)-(1/3)+(1/4)......(1/k),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7762494/

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