Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Ряд Фибоначчи в Java с использованием программы рекурсии и циклов

Что такое ряд Фибоначчи в Java?

Ряд Фибоначчи в Java — это последовательность чисел, в которой следующее число является суммой двух предыдущих чисел. Первые два числа ряда Фибоначчи — это 0 и 1. Числа Фибоначчи широко используются при вычислительном исследовании алгоритма во время выполнения для определения наибольшего общего делителя двух целых чисел.

В арифметике массив Витхоффа представляет собой бесконечную матрицу чисел, полученную в результате последовательности Фибоначчи.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

Программа ряда Фибоначчи на 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

Логика программы:

Программа ряда Фибоначчи на 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

Логика программы:

Рекурсивная функция — это функция, которая может вызывать сама себя.

ФибоначчиРекурсия():

  1. Функция рекурсии Фибоначчи в Java принимает входное число. Проверяет наличие 0, 1, 2 и возвращает 0, 1, 1 соответственно, поскольку последовательность Фибоначчи в Java начинается с 0, 1, 1.
  2. Когда входное значение 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

  1. Java-программа Hello World
  2. Переменные и литералы Java
  3. Java-выражения, операторы и блоки
  4. Java-класс и объекты
  5. Абстрактный класс Java и абстрактные методы
  6. Вложенный и внутренний класс Java
  7. Java бросает и бросает
  8. Автоупаковка и распаковка Java
  9. Java-программа для проверки простого числа
  10. Число Армстронга в программе JAVA с использованием цикла for