递归乘法Fibonacci序列的问题

时间:2013-11-18 18:53:08

标签: java algorithm recursion fibonacci multiplication

我正在编写一个递归方法来计算乘法Fibonacci序列。此序列类似于常规Fibonacci序列,除了不是添加前两个数字来查找下一个数字,而是将它们相乘。我目前已经编写了这个方法,但是不管返回我认为正确结果的是什么,无论输入数是什么,该方法都返回0。任何帮助或想法将不胜感激。 这是方法:

public static int fibonacciPower(int n)
{
    if(n < 2)
    {
        return n;
    }
    else
    {
        return (fibonacciPower(n-1) * fibonacciPower(n-2));
    }

}

1 个答案:

答案 0 :(得分:0)

你需要返回1

if(n < 2)
{
    return 1;
}

这是因为,如果n变为0,你最终乘以0,然后你的乘积变为0.因此,如果n等于0或1,我们乘以1