用Java计算递归函数

用Java计算递归函数,java,recurrence,Java,Recurrence,我需要解这个递归函数:f(n)=5*f(n-1)-2*f(n-2),其中f(0)=1,f(1)=2。我写了下面的代码,但它没有给出正确的答案——例如,当n=4时,它输出164,尽管正确的答案是26(假设我做的数学正确) 你的数学错了:) f(n)=5*f(n-1)-2*f(n-2) 看起来您的Java代码是正确的,但您自己的数学是不正确的 f(2) = 5f(1) - 2f(0) = 5 * 2 - 2 * 1 = 10 - 2 = 8 f(3) = 5f(2) - 2f(1) = 5 * 8

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

你的数学错了:)

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


看起来您的Java代码是正确的,但您自己的数学是不正确的

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

你的答案和我的有什么不同?Sujay,对不起,我是在另一个答案被发布的时候输入的!
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
f(2) = 5f(1) - 2f(0) = 5 * 2 - 2 * 1 = 10 - 2 = 8
f(3) = 5f(2) - 2f(1) = 5 * 8 - 2 * 2 = 40 - 4 = 36
f(4) = 5f(3) - 2f(2) = 5 * 36 - 2 * 8 = 180 - 16 = 164