English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java полная коллекция примеров
В этой программе вы узнаете, как использовать циклы for и while в Java для отображения последовательности Фибоначчи. Вы узнаете, как отображать серию, содержащую до определенного количества терминов или чисел.
Последовательность Фибоначчи - это серия, в которой следующее значение является суммой предыдущих двух значений. Начальные значения последовательности Фибоначчи - это 0, затем 1.
Последовательность Фибоначчи: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
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 для генерации последовательности Фибоначчи.
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) известно.
public class Fibonacci { public static void main(String[] args) { int n = 100, t1 = 0, t2 = 1; System.out.print("До " + 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.