我似乎有点坚持真正掌握递归,所以我可以使用它们。
这是我在教程中找到的示例。
我想验证一下我是否正确理解了这一点。
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) * (是 (n-1= 2) <= 1, 否), 否则 * (是 (n-1<=1), 是) * n(1)