В этой программе вы научитесь отображать ряды Фибоначчи в Kotlin с помощью циклов for и while. Вы научитесь отображать серию до определенного термина или числа.
Ряд Фибоначчи - это ряд, в котором следующий член представляет собой сумму двух предыдущих членов. Первые два члена последовательности Фибоначчи - это 0, за которым следует 1.
Последовательность Фибоначчи: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Пример 1: отображение ряда Фибоначчи с использованием цикла for
fun main(args: Array) ( 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 ) )
Когда вы запустите программу, вывод будет:
Первые 10 членов: 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) ( 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) ( 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 ) )
Когда вы запустите программу, вывод будет:
До 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
Вместо того, чтобы отображать ряд до определенного числа, эта программа отображает его до заданного числа (100).
Для этого нам просто нужно сравнить сумму двух последних чисел (t1) с n.
Если t1 меньше или равно n, выведите t1. В противном случае мы закончили отображать все термины.