В этой программе вы научитесь отображать ряды Фибоначчи в Java с помощью циклов for и while. Вы научитесь отображать серию до определенного термина или числа.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Java для цикла
- Java while и do … while 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 соответственно.
Затем цикл for выполняет итерацию до 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. В противном случае мы закончили отображать все термины.