用java编写程序,输出fibonacci数列的前20项

用java编写程序,输出fibonacci数列的前20项,第1张

运用递归来写fibonacci的算法,其中当输入0时,返回0,当输入1时,返回1

public static void main(String args[]){

    int index = 0

    while(index < 20)

    {

        锋搭System.out.println(fibonacci(index++))

    }

}

private static int fibonacci(int a)

{

 芹基搏   if (a == 0) return 0

    if 嫌祥(a == 1) return 1

    return fibonacci(a - 1) + fibonacci(a-2)

}

最后的效果如下

这个问题没有难度吧。写了一下你参考下,循环 递归都能轻松实现的。

public 芹笑static void main(String[] args) {

// TODO Auto-generated method stub

int[] fibonacci=null

fibonacci=fibonacci(30)

System.out.println(Arrays.toString(fibonacci))

fibonacci=new int[30]

fibonacci(fibonacci,0)

System.out.println(Arrays.toString(fibonacci))

}

//循环

public static int[] fibonacci(int length){

int[] fibonacci=new int[length]

fibonacci[0]=0

fibonacci[1]=1

for(int i=2i<lengthi++)

fibonacci[i]=fibonacci[i-1]+fibonacci[i-2]

return fibonacci

}

//递归嫌仿含

public static void fibonacci(int[] fibonacci,int index){

if(index>大弯-1&&index<fibonacci.length){

    if(index<2&&index>-1)

     fibonacci[index]=index

    else

    fibonacci[index]=fibonacci[index-1]+fibonacci[index-2]

    fibonacci(fibonacci,index+1)

}

}

Java编程:三种方法实现斐波那契数列

其一方法:

public class Demo2 {  

    // 定义三个变量方法  

    public static void main(String[] args) {  

        int a = 1, b = 1, c = 0  

        System.out.println("斐波那契数列前20项为:")  

        System.out.print(a + "\t" + b + "\t")  

        //因为前面还有两个1、1 所以i<=18  

        for (int i = 1 i <= 18 i++) {  

            c = a + b  

            a = b  

            b = c  

            System.out.print(c + "\t")  

            if ((i + 2) % 5 == 0)  

                System.out.println()  

        }  

    }  

  

}

java编程:三种方法实现斐波那契数列

其二方法:

public class Demo3 {  

    // 定义数组方法  

    public static void main(String[] args) {  

        int arr[] = new int[20]  

        arr[0] = arr[1] = 1  

        for (int i = 2 i < arr.length i++) {  

            arr[i] = arr[i - 1] + arr[i - 2]  

        }  

        System.out.println("斐波那契数列的前20项如下所示:")  

        for (int i = 册凳0 i < arr.length i++) {  

            if (i % 5 == 0)  

                System.out.println()  

            System.out.print(arr[i] + "\t")  

        }  

    }  

  

}

Java编程:三种方法实现斐波那契数列

其三方法:

public class Demo4 {  

    // 使用递归方法  

    private static int getFibo(int i) {  

        if (i == 1 || i == 2)  

            return 1  

        else  

            return getFibo(i - 1) + getFibo(i - 2)  

    }  

  

    public static void main(String[] args) {  

        System.out.println("斐波那契数列的前20项为:")  

        for (int j = 1 j <= 20 j++) {  

          稿返  System.out.print(getFibo(j) + "\t")  

            if (j % 5 == 0)  

                System.out.println()  

        }  

    }  

  

}

同一道题用各种不同的思路去思考解决,也是对知识综合运用的锻炼州敬旅。


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

原文地址: http://outofmemory.cn/yw/12425807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存