我有這個類:斐波那契類總是返回0
public class Fibonacci
{
public static int Calculate(int x)
{
if (x <= 0)
{
return 0;
}
else
{
return Calculate(x - 1) + Calculate(x - 2);
}
}
}
每一個教程中,我做的,如果一個輸入6一個應該得到8預期的結果,但是當我運行它,它總是返回0它是遞歸的,所以對我來說是有意義的,但他們如何得到8作爲預期的結果?
你應該自己解決,你會學到更多。提示:請考慮計算(0)的作用和計算(1)的作用。如果你沒有得到它,請使用調試器。 – 2009-12-24 11:17:00
Calculate方法不可能返回null - 返回類型是一個整數,它不能爲空。我注意到,在文中你說它返回零 - 但在標題你說空。這些不是一回事 - 我建議你將標題更新爲零。 – 2009-12-24 11:18:16
作爲旁註:遞歸不是計算斐波那契數的最佳方法。例如,當你用這種方法計算f(n)時,則f(n-2)被計算兩次。 F(n-4)計算5次!用f(6)試試看...... – 2009-12-24 12:25:01