Програма Котліна для відображення серії Фібоначчі

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

Цікаві статті...