多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 程序:展示斐波那契数列 > 原文: [https://www.programiz.com/kotlin-programming/examples/fibonacci-series](https://www.programiz.com/kotlin-programming/examples/fibonacci-series) #### 在此程序中,您将学习使用`for`和`while`循环在 Kotlin 中显示斐波那契数列。 您将学习如何显示序列,直到显示一个特定的术语或数字。 斐波那契数列是一个系列,其中下一项是前两个项的总和。 斐波那契数列的前两个项是 0,然后是 1。 ```kt The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ... ``` ## 示例 1:使用`for`循环显示斐波那契数列 ```kt 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 } } ``` 运行该程序时,输出为: ```kt First 10 terms: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + ``` 在上面的程序中,第一项(`t1`)和第二项(`t2`)分别被初始化为斐波那契数列 0 和 1 的前两个项。 与 Java 不同,我们在运算符中使用*范围*迭代到`n`(项数),并显示存储在变量`t1`中的前两项的和。 以下是等效的 Java 代码:[显示斐波那契序列的 Java 程序](/java-programming/examples/fibonacci-series)。 * * * 您还可以在 Kotlin 中使用`while`循环生成斐波那契数列。 ## 示例 2:使用`while`循环显示斐波那契数列 ```kt 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:显示最大为给定数字(而不是项)的斐波那契数列 ```kt 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 } } ``` 运行该程序时,输出为: ```kt Upto 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 + ``` 该程序将序列显示到给定数字(100),而不是显示序列直至特定数字。 为此,我们只需要比较最后两个数字(`t1`)与`n`的和即可。 如果`t1`小于或等于`n`,则打印`t1`。 否则,我们完成了所有条款的显示。