Java编写斐波那契数列递归和循环方法比较运算时间

Java编写斐波那契数列

@Test
    public void test2() {
        long d1 =System.currentTimeMillis();
        int a=45;
        //斐波那契数列
        int fia = aaa(a);
        long d2 =System.currentTimeMillis();
        System.out.printf("斐波那契数列aaa方法第%d个是%d\t所用时间为%sms\n",a,fia,d2-d1);
        long d3 =System.currentTimeMillis();
        int fib = Fibonacci(a);
        long d4 =System.currentTimeMillis();
        System.out.printf("斐波那契数列Fibonacci方法第%d个是%d\t所用时间为%sms",a,fib,d4-d3);

    }

    public int aaa(int a) {
        if(a==0){
            return 0;
        }if(a==1){
            return 1;
        }
         return aaa(a-1)+aaa(a-2);
    }
    public int Fibonacci(int n) {
        int[] fib= {0, 1};
        if(n < 2) {
            return fib[n];
        }
        int first = 0;
        int second = 1;
        int fibn = 0;
        for(int i = 2; i <= n; i++) {
            fibn = first + second;
            first = second;
            second = fibn;
        }
        return fibn;
    }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wqr111/article/details/117924421