详细解释了java的递归方法

kb5ga3dv  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(152)

我正在学习递归,有一些我不能真正理解的代码,需要你给我解释一下,这样我就可以自己理解了。

int Fkt(int x) 
{ System.out.println(x); 
 if (x < 9) 
 return x; 
 if (Fkt(x/2) % 2 == 0) 
 return Fkt(x - 10); 
 else 
 return Fkt(x - 20); 
}

通常我会说它是非线性的,因为在第二个if语句中可以有2个调用,但它在参数中,似乎是结束递归的,对吗?
在我看来,它也可能是一个线性递归,并实现了一个额外的结束递归调用。
如果我把 System.out.println(34 + Fkt(34)); 在这本书中,我怎样才能遵循递归的轨迹,你通常做些什么来学习和理解这类代码,比如说在考试中。那时我就要纸了,没有ide之类的。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题