Java中递归和迭代

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-27 15:42:32

关于递归调用,我还是在网上找的相关知识点。所谓递归,就是程序调用自身的编程技巧,一个过程或函数在其定义或说明中有直接或间接调。

通过例子来实现:

public class factorial {
    public static void main(String[] args) {
        System.out.println(f(6));
    }
    public static long f(int n) {
        if(n==1) {
            return 1;
        }else {
            return n*f(n-1);
        }
        
    }
}

迭代:简而言之,就是A不停的调用B。通过另一个例子实现:

public class iteration {
    public static void main(String[] args) {
        System.out.println(f(20));
    }
    public static long f(int index) {
        if(index==1||index==2) {
            return 1l;
        }
        long f1=1l;
        long f2=1l;
        long f=0;
        for(int i=0;i<index;i++) {
            f=f1+f2;
            f1=f2;
            f2=f;
        }
        return f;
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!