Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

Series de Fibonacci en Java utilizando el programa Recursion and Loops

¿Qué son las series de Fibonacci en Java?

Una serie de Fibonacci en Java es una serie de números en los que el siguiente número es la suma de los dos números anteriores. Los primeros dos números de la serie de Fibonacci son 0 y 1. Los números de Fibonacci se utilizan de manera significativa en el estudio computacional en tiempo de ejecución de un algoritmo para determinar el máximo común divisor de dos números enteros.

En aritmética, la matriz de Wythoff es una matriz infinita de números resultantes de la secuencia de Fibonacci.

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

Programa de la serie Fibonacci en Java utilizando For Loop

//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;
	        }
	}
}

Salida:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Lógica del programa:

Programa de la serie Fibonacci en Java utilizando el ciclo while

También puede generar series Java Fibonacci usando un While bucle en 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++;
	        }
 
	}
 
}

Salida:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

La única diferencia en la lógica del programa es el uso de WHILE Loop para imprimir números de Fibonacci

Serie de Fibonacci basada en la entrada del usuario

//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;
	        }
 
	}
 
}

Lógica del programa:

La lógica es la misma que antes. En lugar de codificar el número de elementos que se mostrarán en la serie Java Fibonacci, se le pide al usuario que escriba el número.

Series de Fibonacci usando recursividad en Java

A continuación se muestra un programa de la serie Fibonacci en Java usando recursividad:

//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) +" ");
		}
	}
}


Salida:

Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34

Lógica del programa:

Una función recursiva es aquella que tiene la capacidad de llamarse a sí misma.

FibonacciRecursión():

  1. La función recursiva de Java Fibonacci toma un número de entrada. Comprueba 0, 1, 2 y devuelve 0, 1, 1 en consecuencia porque la secuencia de Fibonacci en Java comienza con 0, 1, 1.
  2. Cuando la entrada n es>=3, la función se llamará a sí misma recursivamente. La llamada se hace dos veces. Veamos la serie de Fibonacci en Java usando un ejemplo de recursividad para la entrada de 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

Ahora se suma el resultado 0+1+1+0+1=3


Java

  1. Programa Java Hola Mundo
  2. Variables y literales de Java
  3. Expresiones, declaraciones y bloques de Java
  4. Objetos y clases de Java
  5. Clase abstracta de Java y métodos abstractos
  6. Clase interna y anidada de Java
  7. Java lanza y lanza
  8. Autoboxing y unboxing de Java
  9. Programa Java para comprobar el número primo
  10. Número de Armstrong en el programa JAVA utilizando For Loop
  11. Cómo invertir una cadena en Java usando recursión