我正在学习递归,有一些我不能真正理解的代码,需要你给我解释一下,这样我就可以自己理解了。
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之类的。
暂无答案!
目前还没有任何答案,快来回答吧!