蓝桥杯刷题-一步一步实现递归

蓝桥杯刷题-一步一步实现递归,第1张

蓝桥杯刷题-一步一步实现递归

接上代码(附有注解)

package changer.day02;


public class _02_1什么是递归 {
    public static void main(String[] args) {
//        System.out.println(f1(10));
//        f2(1,10);
//        System.out.println(f3(new int[]{1,1,1,1,1},0));
//        System.out.println(reverse("abcd","abcd".length()-1));
        System.out.println(fib(5));
    }

    
    static int f1(int n){
        if(n == 1)
            return 1;
        return n * f1(n-1);
    }


    
    static void f2(int i, int j){
        if (i>j)
            return;
        System.out.println(i);
        f2(i + 1,j);
    }
    
    static int f3(int[] arr,int begin){
        if(begin == arr.length-1)
            return arr[begin];
        return arr[begin] + f3(arr,begin+1);
    }
    
    static String reverse(String src,int end){
        if (end == 0)
            return "" + src.charAt(0);
        return src.charAt(end) + reverse(src, end - 1);
    }

    
    static int fib(int n){
        if(n == 1 || n == 2)
            return 1;
        return fib(n - 1) + fib(n - 2);
    }
    
    static int gcd(int m,int n){
        if(n==0){
            return m;
        }
        return gcd(n,m%n);
    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5713056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存