后端

java 递归方法

菠萝猫 · 7月27日 · 2019年 328次已读

一个方法体中实现再次调用方法本身就是递归调用,递归一定要向已知方向递归。

/*
java recursive
test1:
f(0)=1,f(1)=4,....f(n+2)=2*f(n+1)+f(n). n>0;
f(10)??

test2:
f(20)=1,f(21)=4,....f(n+2)=2*f(n+1)+f(n). n>0;
f(10)??
 */
public class test2 {
    //main
    public static void main(String[] args) {
        System.out.println(recursive(10));
        System.out.println(recursive2(10));
    }
    //method1——test1
    public static int recursive(int n){
        if (n==0){
            return 1;
        }
        else if (n==1){
            return 4;
        }
        else {
            return 2*recursive(n-1)+recursive(n-2);
        }
    }
    //method2——test2
    public static int recursive2(int n){
        if (n==20){
            return 1;
        }
        else if (n==21){
            return 4;
        }
        else {
            return recursive2(n+2)-recursive2(n+1);
        }
    }
}

版权声明:本站采用 “知识共享署名 – 非商业性使用 – 相同方式共享 4.0 中国大陆许可协议” 进行许可,您可以转载本站文章,转载时请以超链接形式标明文章原始出处,Thanks.
0 条回应