gpt4 book ai didi

java - 用Java计算递归函数

转载 作者:行者123 更新时间:2023-12-01 07:11:44 25 4
gpt4 key购买 nike

我需要求解这个递归函数:f(n) = 5*f(n-1) - 2*f(n-2),其中 f(0)=1 且 f(1)=2。我编写了下面的代码,但它没有给出正确的答案 - 例如,当 n = 4 时,它输出 164,尽管正确的答案是 26(假设我的数学正确)。

public static int recurFunction(int n) {
if(n == 0) {
return 1;
} else if(n == 1) {
return 2;
} else {
n = ((5 * recurFunction(n - 1)) - (2 * recurFunction(n - 2)));
return n;
}
}

最佳答案

你的数学错了:)

f(n) = 5*f(n-1) - 2*f(n-2)

f(0) = 1
f(1) = 2
f(2) = 5 * f(1) - 2 * f(0) = 5 * 2 - 2 * 1 = 10 - 2 = 8
f(3) = 5 * f(2) - 2 * f(1) = 5 * 8 - 2 * 2 = 40 - 4 = 36
f(4) = 5 * f(3) - 2 * f(2) = 5 * 36 - 2 * 8 = 180 - 16 = 164

关于java - 用Java计算递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12868666/

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