程序显示的结果“5”,但我看不出它是如何获取到这个问题的答案,因为那进行的“+1”,“结果谜(N/20)+ 1”为什么这种递归方法的功能是这样的?
灿任何人都可以通过计算机采取的逻辑步骤来获取此信息?
public class Experimental{
public static int mystery(int n){
if (n <= 0) { return 0; }
return mystery(n/2) + 1;
}//ends method
public static void main(String[] args){
System.out.println(mystery(20));
}//ends method
}//ends class
20,10,5,2,1,0。 – nneonneo 2013-03-14 21:20:55
到目前为止,我只将它看作是(n/2)部分。它一直在减半,直到最终达到0,但是什么时候“+1”才起作用? – 2013-03-14 21:33:26