У цій програмі ви навчитеся відображати серії Фібоначчі в 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, ми використовували діапазони та в операторі для ітерації до 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. В іншому випадку ми закінчили відображення всіх термінів.