其他分享
首页 > 其他分享> > 青蛙跳台阶问题

青蛙跳台阶问题

作者:互联网

本质是斐波那契数列的变形

    public static int flogStep1(int n) {
        //递归写法
        if (n == 1 || n == 2) {
            return n;
        } else {
            return flogStep1(n - 1) + flogStep1(n - 2);
        }
    }

    public static int flogStep2(int n) {
        //循环写法
        //实质就是求斐波那契数列
        if (n == 1 || n == 2) {
            return n;
        }
        int f1 = 1;
        int f2 = 2;
        int f3 = 0;
        for (int i = 3; i <= n; i++) {
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
        }
        return f3;
    }

    public static void main(String[] args) {
        Scanner step = new Scanner(System.in);
        int n = step.nextInt();
        System.out.println(flogStep1(n));
        System.out.println(flogStep2(n));
    }

标签:f1,f2,f3,台阶,int,青蛙,问题,flogStep1,return
来源: https://blog.csdn.net/ImwaterP/article/details/121035581