本人新手,刚在课本上看到一个题目:    编程实现求Fibonacci数列的前10个数字。没想出来,不知道怎么实现后一个数为前两个数的和。请问有人知道吗?   给下代码  供学习。编程

解决方案 »

  1.   

    这种办法应该比较好理解// 长度为10的数组,前两个元素的值已知
    int[] arr = new int[] {1, 1, 0, 0, 0, 0, 0, 0, 0, 0};
    // 从索引为2的元素开始修改为正确的值
    for (int i = 2; i < arr.length; i++) {
    arr[i] = arr[i-1] + arr[i-2];
    }
    // 输出修改后的数组
    for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i] + " ");
    }
    // 输出:1 1 2 3 5 8 13 21 34 55
      

  2.   

    再提供一种方法,相比上一个,要多动一下脑筋。int a = 1, b = 1;
    // 先输出前两个
    System.out.print(a + " " + b + " ");
    // 第三个到第十个
    for (int i = 3; i <= 10; i++) {
    int temp = b;
    b = a + b;
    a = temp;
    System.out.print(b + " ");
    }
      

  3.   

    public class TestOfFibonacc
    {
    public static void main(String[] args)
    {
    TestOfFibonacc tof = new TestOfFibonacc();
    for(int i = 0 ; i < 10 ;i++)
    {
    System.out.print(tof.Fibonacc(i)+ " ");
    }
    }
    public int Fibonacc(int n)
    {
    if(n<=1)
    return 1;
    else
    return Fibonacc(n-1)+Fibonacc(n-2);
    }
    }