递归与迭代

递归与迭代

 

递归与迭代 

 

public class Test {
    public static void main(String[] args) throws IllegalAccessException {
        int sum =f(0);
        System.out.print(sum);
    }
    public static int f(int n) throws IllegalAccessException {
        if (n<1){
            throw new IllegalAccessException("N不能小于1");
        }
        if (n==1 || n==2){
            return n;
        }
        return f(n-2)+f(n-1);
    }
}

 递归与迭代

public class Test {
    public static void main(String[] args) throws IllegalAccessException {
        int sum =f(4);
        System.out.print(sum);
    }
    public static int f(int n) throws IllegalAccessException {
        if (n<1){
            throw new IllegalAccessException("N不能小于1");
        }
        if (n==1 || n==2){
            return n;
        }
        int one =1;
        int tow = 2;
        int sum =0;
        for (int i=3;i<=n;i++){
            sum = one+ tow;
            tow = one ;
            one =sum;
        }
        return sum;
    }
}