public static int hundred(int i){ //递归实现1+2+3+...+99+100
if(i == 100)return 100;
else return i + hundred(i + 1);
}
反过来理解,最后几位必然是100+99+98+…我们让 i 为100时开始逐渐退出递归,也就是说如图所示
这是一个栈模型图,最先进去的被压在最底下,当i = 100时,开始出栈,意味着hundred(99+1) = 100 因此有100 + 99,再继续出栈,有100+99+98…