1、求高斯数列n项的和sum(n)=1+2+3+。。。+(n-1)+n,我以前用编程的思想理解,不过刚想到第三层方法的出栈进栈就“蒙圈了”,后来想了想不是跟数学上的递归是一样的吗?其实sum(n)=sum(n-1)+n。用编程实现这个方程式即可:
private static void gaoSi(int n){
if(n=1)
return 1;
return gaoSi(n-1)+n;
}//这样就好理解多了
2、求一个数n的阶乘:n!=1*2*3*。。。。*(n-1)*n=n*(n-1)!也是一样的
private static void jieCheng(int n){
if(n=1)
return 1;
return jieCheng(n-1)*n;
}
3、求斐波那契数列,(经典的小兔子问题,只要把return 1改为return 2即可),第n项等于第n-1项和n-2项的和
private static void fiboMethod(int n){
if(n=1||n=2)
return 1;
return fiboMethod(n-1)+fiboMethod(n-2);
}
还有好多类似的问题,希望对初学java的,没有弄懂递归的同学有点帮助,:)大神无视我吧。。
|