martes, 7 de julio de 2026

Crear la serie Fibonacci de los N primeros números en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int a = 0, b = 1, c = 1, n;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingresar número: ");
        n = sc.nextInt();
        while(c <= n){
            if(c % 2 == 1){
                System.out.print(a + ",");
                a += b;
            }else{
                System.out.print(b + ",");
                b += a;
            }
            c++;
        }
    }

}

Definición de los códigos del ejercicio:

import java.util.Scanner; --> Importación explícita de Scanner.
Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
for --> el ciclo for recorre un bloque de código varias veces.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+ --> el operador ( + ) concatena variables de cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

Este programa solicita un número al usuario y muestra los primeros N números de la serie Fibonacci. La serie Fibonacci comienza con:

0, 1, 1, 2, 3, 5, 8, 13, 21...

¿Qué hace cada parte del código?

Código Explicación
import java.util.Scanner; Importa la clase Scanner para poder leer datos escritos por el usuario.
public class Ejercicio Define la clase principal del programa.
public static void main(String[] args) Es el método principal donde comienza la ejecución del programa.
int a = 0, b = 1, c = 1, n; Se crean las variables:
  • a: primer número de Fibonacci (0).
  • b: segundo número de Fibonacci (1).
  • c: contador de la serie.
  • n: cantidad de números que el usuario desea generar.
Scanner sc = new Scanner(System.in); Crea el objeto Scanner para leer datos desde el teclado.
System.out.print("Ingresar número: "); Solicita al usuario la cantidad de números que tendrá la serie.
n = sc.nextInt(); Guarda el número ingresado por el usuario.
while(c <= n) Repite el proceso hasta generar los N números de la serie Fibonacci.
if(c % 2 == 1) Si la posición es impar, muestra el valor de a y luego actualiza su valor sumándole b.
a += b; Actualiza el siguiente número de Fibonacci para la variable a.
else Si la posición es par, trabaja con la variable b.
b += a; Actualiza el siguiente número de Fibonacci para la variable b.
c++; Aumenta el contador para continuar con el siguiente número de la serie.

Funcionamiento paso a paso

Supongamos que el usuario ingresa:

5

Las variables cambian así:

Iteración a b Se imprime
1 0 → 1 1 0
2 1 1 → 2 1
3 1 → 3 2 1
4 3 2 → 5 2
5 3 → 8 5 3

Salida del programa

Ingresar número: 5 0,1,1,2,3,
Resumen:
  • El usuario indica cuántos números desea generar.
  • El ciclo while repite el proceso N veces.
  • Las variables a y b almacenan los dos últimos valores de la serie.
  • En cada iteración se imprime un número de Fibonacci y luego se calcula el siguiente.
  • Al finalizar, se obtiene la serie Fibonacci con los primeros N números.

Código del ejercicio: Otra forma de hacer

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int n, p = 0, s = 1, si, i;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingresar número: ");
        n = sc.nextInt();
        for(i = 0; i < n; i++){
            if(i <= 1){
                si = i;
            }else{
                si = p + s;
                p = s;
                s = si;
            }
            System.out.print(si + ",");
        }
    }

}

Definición de los códigos del ejercicio:

import java.util.Scanner; --> Importación explícita de Scanner.
Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
for --> el ciclo for recorre un bloque de código varias veces.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+ --> el operador ( + ) concatena variables de cadena.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

Este programa solicita al usuario un número N y muestra los primeros N términos de la serie Fibonacci.

Código Java

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int n, p = 0, s = 1, si, i;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingresar número: ");
        n = sc.nextInt();

        for(i = 0; i < n; i++){
            if(i <= 1){
                si = i;
            }else{
                si = p + s;
                p = s;
                s = si;
            }
            System.out.print(si + ",");
        }
    }

}

Explicación del código

Código Explicación sencilla
int n, p = 0, s = 1, si, i; Se declaran las variables del programa.
  • n: cantidad de números Fibonacci que se mostrarán.
  • p: guarda el número anterior de la serie.
  • s: guarda el número actual de la serie.
  • si: almacena el siguiente número Fibonacci.
  • i: contador del ciclo.
Scanner sc = new Scanner(System.in); Crea un objeto para leer datos ingresados por el usuario mediante el teclado.
System.out.print("Ingresar número: "); Muestra un mensaje solicitando la cantidad de números Fibonacci que se desean generar.
n = sc.nextInt(); Lee el número ingresado por el usuario y lo guarda en la variable n.
for(i = 0; i < n; i++) Este ciclo se repite n veces para generar los primeros términos de la serie Fibonacci.
if(i <= 1) Los dos primeros términos de la serie Fibonacci siempre son:
  • 0
  • 1
Por eso, cuando i vale 0 o 1, simplemente se asigna ese mismo valor a si.
si = i; Guarda el valor de 0 o 1, que corresponden a los dos primeros números de la serie.
else A partir del tercer número comienza el cálculo normal de Fibonacci.
si = p + s; Suma los dos números anteriores para obtener el siguiente término de la serie.
p = s; El número actual pasa a convertirse en el número anterior para la siguiente iteración.
s = si; El nuevo número calculado pasa a ser el número actual.
System.out.print(si + ","); Imprime cada número Fibonacci generado, separado por comas.

Funcionamiento paso a paso

Si el usuario ingresa:

Ingresar número: 7

El ciclo genera los siguientes valores:

Iteración Valor mostrado
00
11
21
32
43
55
68

Salida:

0,1,1,2,3,5,8,
Resumen:

El programa genera la serie Fibonacci utilizando un ciclo for. Los dos primeros números son 0 y 1. Después, cada nuevo número se obtiene sumando los dos anteriores. El proceso continúa hasta mostrar la cantidad de términos indicada por el usuario.

No hay comentarios.:

Publicar un comentario

Contar cuántos números múltiplos de 3 hay del 1 hasta N número en Java

Código del ejercicio: package ejercicio; import java.util.Scanner; public class Ejercicio {     public static void mai...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️