Ряд Фибоначчи в Java с использованием программы рекурсии и циклов
Что такое ряд Фибоначчи в Java?
Ряд Фибоначчи в Java — это последовательность чисел, в которой следующее число является суммой двух предыдущих чисел. Первые два числа ряда Фибоначчи — это 0 и 1. Числа Фибоначчи широко используются при вычислительном исследовании алгоритма во время выполнения для определения наибольшего общего делителя двух целых чисел.
В арифметике массив Витхоффа представляет собой бесконечную матрицу чисел, полученную в результате последовательности Фибоначчи.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
- Что такое ряд Фибоначчи в Java?
- Программа ряда Фибоначчи на Java с использованием цикла For Loop
- Программа ряда Фибоначчи на Java с использованием цикла While
- Ряд Фибоначчи с использованием рекурсии в Java
Программа ряда Фибоначчи на Java с использованием цикла For
//Using For Loop public class FibonacciExample { public static void main(String[] args) { // Set it to the number of elements you want in the Fibonacci Series int maxNumber = 10; int previousNumber = 0; int nextNumber = 1; System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); for (int i = 1; i <= maxNumber; ++i) { System.out.print(previousNumber+" "); /* On each iteration, we are assigning second number * to the first number and assigning the sum of last two * numbers to the second number */ int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; } } }
Вывод:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Логика программы:
- previousNumber инициализируется 0, а nextNumber инициализируется 1
- Цикл Фибоначчи по циклам проходит через
maxNumber
- Показать предыдущее число
- Вычисляет сумму предыдущего и следующего чисел.
- Обновляет новые значения previousNumber и nextNumber
Программа ряда Фибоначчи на Java с использованием цикла While
Вы также можете сгенерировать Java-ряд Фибоначчи, используя While
цикл в Java.
//Using While Loop public class FibonacciWhileExample { public static void main(String[] args) { int maxNumber = 10, previousNumber = 0, nextNumber = 1; System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); int i=1; while(i <= maxNumber) { System.out.print(previousNumber+" "); int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; i++; } } }
Вывод:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Единственным отличием логики программы является использование цикла WHILE для печати чисел Фибоначчи
Ряд Фибоначчи на основе пользовательского ввода
//fibonacci series based on the user input import java.util.Scanner; public class FibonacciExample { public static void main(String[] args) { int maxNumber = 0; int previousNumber = 0; int nextNumber = 1; System.out.println("How many numbers you want in Fibonacci:"); Scanner scanner = new Scanner(System.in); maxNumber = scanner.nextInt(); System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); for (int i = 1; i <= maxNumber; ++i) { System.out.print(previousNumber+" "); /* On each iteration, we are assigning second number * to the first number and assigning the sum of last two * numbers to the second number */ int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; } } }
Логика программы:
Логика та же, что и раньше. Вместо того, чтобы жестко задавать количество элементов, отображаемых в Java Fibonacci Series, пользователю предлагается ввести число.
Ряд Фибоначчи с использованием рекурсии в Java
Ниже приведена программа ряда Фибоначчи на Java с использованием рекурсии:
//Using Recursion public class FibonacciCalc{ public static int fibonacciRecursion(int n){ if(n == 0){ return 0; } if(n == 1 || n == 2){ return 1; } return fibonacciRecursion(n-2) + fibonacciRecursion(n-1); } public static void main(String args[]) { int maxNumber = 10; System.out.print("Fibonacci Series of "+maxNumber+" numbers: "); for(int i = 0; i < maxNumber; i++){ System.out.print(fibonacciRecursion(i) +" "); } } }
Вывод:
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Логика программы:
Рекурсивная функция — это функция, которая может вызывать сама себя.
ФибоначчиРекурсия():
- Функция рекурсии Фибоначчи в Java принимает входное число. Проверяет наличие 0, 1, 2 и возвращает 0, 1, 1 соответственно, поскольку последовательность Фибоначчи в Java начинается с 0, 1, 1.
- Когда входное значение n равно>=3, функция будет вызывать себя рекурсивно. Звонок делается два раза. Давайте посмотрим ряды Фибоначчи в Java, используя пример рекурсии для ввода 4.
fibonacciRecursion (4) It will recursively call fibonacciRecursion function for values 2 and 3 fibonacciRecursion (2) \\ call for value 0 and 1 fibonacciRecursion (0) = 0 fibonacciRecursion (1) = 1 fibonacciRecursion (3) \\ It will call for 1 and 2 fibonacciRecursion (1) = 1 fibonacciRecursion (2) \\ It will call for 0 and 1 fibonacciRecursion (0) = 0 fibonacciRecursion (1) = 1
Теперь результат суммируется 0+1+1+0+1=3
java
- Java-программа Hello World
- Переменные и литералы Java
- Java-выражения, операторы и блоки
- Java-класс и объекты
- Абстрактный класс Java и абстрактные методы
- Вложенный и внутренний класс Java
- Java бросает и бросает
- Автоупаковка и распаковка Java
- Java-программа для проверки простого числа
- Число Армстронга в программе JAVA с использованием цикла for