递归java修改后的Fibonacci

时间:2017-03-17 07:52:46

标签: java recursion fibonacci

public class ModFib
{
    public static int modFibonacci(int term)
    {
        if(term == 1)
        {
            return 3;
        }
        else if(term == 2)
        {
            return 5;
        }
        else
        {
            return modFibonacci(term - 1) + modFibonacci(term - 2) + modFibonacci(term - 3);
        }
    }
}

它仅在term-3下工作正常,但这会产生堆栈溢出错误。

1 个答案:

答案 0 :(得分:2)

需要添加像

这样的条件
if(term == 0)
    {
        return 0;
    }