2
我似乎有點卡在真正掌握遞歸,所以我可以使用它們。Java - 這個遞歸的操作順序是什麼?
這是我在教程中找到的示例。
我想驗證一下,看看我是否正確理解這一點。
public class SolveRecursion {
public void recursionPerform(){
System.out.println(fact(4));
}
public static long fact(long n){
if (n <= 1){
return n;
}
else{
return n * fact(n-1);
}
}
}
讓我們將n設置爲4
在這種情況下,這是什麼情況? (很抱歉的混亂格式,我盡力了)
(是N(4)< = 1,否),否則,N(4)*(爲(n-1 = 3)< = 1否),否則,n(3)*(Is(n-1 = 2)< = 1,否),否則*(Is(n-1 < = 1),是)* n(1)
你可以在調試器中運行它,或添加打印語句,然後你可以看到操作的順序爲自己。 –
謝謝,我試過打印報表,讓事情看起來更容易一些。 – LearnIT