Kotlin 打印显示斐波那契数列

Kotlin 实例大全

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

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

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

示例1:使用for循环显示斐波那契数列

fun main(args: Array<String>) {
    val n = 10
    var t1 = 0
    var t2 = 1
    
    print("First $n terms: ")

    for (i in 1..n) {
        print("$t1 + ")

        val sum = t1 + t2
        t1 = t2
        t2 = sum
    }
}

运行该程序时,输出为:

First 10 terms: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +

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

与Java不同,我们使用了range和in运算符来迭代直到n(项数)显示存储在变量t1中的前两个项之和。

以下是等效的Java代码:显示斐波那契系列的Java程序。

您还可以在Kotlin中使用while循环生成斐波那契数列。

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

fun main(args: Array<String>) {
    var i = 1
    val n = 10
    var t1 = 0
    var t2 = 1

    print("First $n terms: ")

    while (i <= n) {
        print("$t1 + ")

        val sum = t1 + t2
        t1 = t2
        t2 = sum

        i++
    }
}

输出与上述程序相同。

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

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

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

fun main(args: Array<String>) {
    val n = 100
    var t1 = 0
    var t2 = 1

    print("Upto $n: ")
    while (t1 <= n) {
        print("$t1 + ")

        val 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。否则,我们就完成了所有术语的显示。

Kotlin 实例大全