📜  显示斐波那契数列的Java程序

📅  最后修改于: 2020-09-26 18:29:29             🧑  作者: Mango

在该程序中,您将学习使用for和while循环在Java中显示斐波那契数列。您将学习如何显示序列,直到显示特定术语或数字。

斐波那契数列是一个系列,其中下一项是前两项的总和。斐波那契数列的前两个项是0,然后是1。

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
示例1:使用for循环显示斐波那契数列
public class Fibonacci {

    public static void main(String[] args) {

        int n = 10, t1 = 0, t2 = 1;
        System.out.print("First " + n + " terms: ");

        for (int i = 1; i <= n; ++i)
        {
            System.out.print(t1 + " + ");

            int sum = t1 + t2;
            t1 = t2;
            t2 = sum;
        }
    }
}

输出

0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 

在上面的程序中,第一( t1 )和第二( t2 )项分别被初始化为斐波那契数列0和1的前两个项。

然后,for循环迭代到n (项数),显示存储在变量t1中的前两个项的和。


您还可以使用Java中的while循环生成Fibonacci系列。

示例2:使用while循环显示斐波那契数列
public class Fibonacci {

    public static void main(String[] args) {

        int i = 1, n = 10, t1 = 0, t2 = 1;
        System.out.print("First " + n + " terms: ");

        while (i <= n)
        {
            System.out.print(t1 + " + ");

            int sum = t1 + t2;
            t1 = t2;
            t2 = sum;

            i++;
        }
    }
}

输出与上面的程序相同。

在上面的程序中,与for循环不同,我们必须在循环体内增加i的值。

尽管两个程序在技术上都是正确的,但在这种情况下最好使用for循环。这是因为迭代次数(从1到n )是已知的。


示例3:显示最多给定数字(而不是项)的斐波那契数列
public class Fibonacci {

    public static void main(String[] args) {

        int n = 100, t1 = 0, t2 = 1;
        
        System.out.print("Upto " + n + ": ");
        while (t1 <= n)
        {
            System.out.print(t1 + " + ");

            int sum = t1 + t2;
            t1 = t2;
            t2 = sum;
        }
    }
}

输出

Upto 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 + 

该程序将显示序列直到给定数字(100),而不是显示序列号直到指定的数字。

为此,我们只需要比较最后两个数字( t1 )与n的和

如果t1小于或等于n ,则打印t1 。否则,我们完成了所有条款的显示。