У цій програмі ви навчитеся відображати серії Фібоначчі на Java за допомогою циклів for і while. Ви навчитеся відображати серію до певного терміну або числа.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:
- Java для циклу
- Java в той час як і робити … в той час як Loop
Ряд Фібоначчі - це ряд, де наступний доданок - це сума попередніх двох доданків. Перші два члени послідовності Фібоначчі дорівнюють 0, а потім 1.
Послідовність Фібоначчі: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Приклад 1: Відображення серії Фібоначчі за допомогою циклу for
public class Fibonacci ( public static void main(String() args) ( int n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms: "); for (int i = 1; i <= n; ++i) ( System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; ) ) )
Вихідні дані
0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +
У наведеній вище програмі перший (t1) та другий (t2) терміни ініціалізуються до перших двох членів рядів Фібоначчі 0 та 1 відповідно.
Потім для циклу ітерація до n (кількість термінів) відображає суму попередніх двох термінів, що зберігаються у змінній t1.
Ви також можете генерувати серії Фібоначчі, використовуючи цикл while в Java.
Приклад 2: Відображення рядів Фібоначчі за допомогою циклу while
public class Fibonacci ( public static void main(String() args) ( int i = 1, n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms: "); while (i <= n) ( System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; i++; ) ) )
Результат роботи такий самий, як і у вищезазначеної програми.
У наведеній вище програмі, на відміну від циклу for, ми повинні збільшити значення i всередині тіла циклу.
Хоча обидві програми технічно правильні, в цьому випадку краще використовувати цикл for. Це тому, що відома кількість ітерацій (від 1 до n).
Приклад 3: Відображення рядів Фібоначчі до заданого числа (замість термінів)
public class Fibonacci ( public static void main(String() args) ( int n = 100, t1 = 0, t2 = 1; System.out.print("Upto " + n + ": "); while (t1 <= n) ( System.out.print(t1 + " + "); int 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. В іншому випадку ми закінчили відображення всіх термінів.