Програма Java за показване на серия на Фибоначи

В тази програма ще се научите да показвате поредици от фибоначи в Java, използвайки цикли for и while. Ще се научите да показвате поредицата до определен термин или число.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java за Loop
  • 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 loop. Това е така, защото броят на итерациите (от 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. В противен случай приключихме да показваме всички термини.

Интересни статии...