首页 > 学院 > 开发设计 > 正文

递归调用

2019-11-15 01:06:42
字体:
来源:转载
供稿:网友
递归调用

递归:在一个方法的内部,对自身进行调用,又叫递归调用

循环和递归都要具有三部分:初始值,终止条件,前进步长

递归和迭代是等价的

常见的问题:累加加和(累乘乘积),汉诺塔,斐波那契数列

publicclassRecuresion_06{

publicstaticvoidmain(String[]args){

//TODOAuto-generatedmethodstub

System.out.PRintln(factorial(10));

System.out.println("!!!!!!!!!!!!!!!!!!!");

System.out.println(fibonacci(10));

System.out.println("!!!!!!!!!!!!!!!!!!!");

System.out.println(fibIteration(5));

}

//阶乘:factorial

publicstaticintfactorial(intn){

if(n==1){

return1;

}else{

System.out.print(n+"*"+(n-1)+",");

returnn*factorial(n-1);

}

}

//斐波那契数列

publicstaticintfibonacci(intn){

if(n==1||n==2){

return1;

}else{

System.out.print((n-1)+"+"+(n-2)+",");

returnfibonacci(n-1)+fibonacci(n-2);

}

}

//斐波那契数列,迭代实现;iteration

publicstaticlongfibIteration(intindex){

if(index==1||index==2){

return1;

}

longf1=1l;

longf2=1l;

longf=0;

for(inti=0;i<index-2;i++){

f=f1+f2;

f1=f2;

f2=f;

System.out.print(f2+"+"+f1+",");

}

returnf;

}

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表