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 不同,我们使用了范围in运算符来迭代直到 n(项数),显示存储在变量 t1 中的前两项之和。

这是等效的 Java 代码: Java 程序显示斐波那契数列


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

示例 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。否则,我们已完成所有项的显示。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战