miércoles, 8 de julio de 2026

Mostrar los x primeros números de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int vi = 2, c = 0, sw = 1, x;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un número: ");
        x = sc.nextInt();
        while(c != x){
            System.out.print(vi + ",");
            if(sw == 1){
                vi++;
                sw = 0;
            }else{
                vi *= 2;
                sw = 1;
            }
            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.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
+ --> el operador ( + ) concatena variables de cadena.
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 igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
*= --> el operador de asignación de multiplicación ( *= ) multiplica el valor del operando derecho de 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:

Objetivo del programa

El programa muestra los x primeros números de la serie:

2, 3, 6, 7, 14, 15, 30, 31, 62, 63,...

La serie sigue un patrón muy sencillo:

  • Primero aumenta 1.
  • Después multiplica por 2.
  • Luego vuelve a aumentar 1.
  • Después vuelve a multiplicar por 2.
  • Y así sucesivamente.

Es decir:

2 → 3 (+1)
3 → 6 (×2)
6 → 7 (+1)
7 → 14 (×2)
14 → 15 (+1)
15 → 30 (×2)

Explicación de cada variable

Variable Función
vi Guarda el valor actual de la serie. Comienza en 2.
c Cuenta cuántos números se han mostrado.
sw Es un interruptor que decide si el siguiente paso será sumar 1 o multiplicar por 2.
x Cantidad de números que el usuario desea mostrar.
Scanner sc Permite leer el número ingresado por el usuario.

Lectura del dato

x = sc.nextInt();

Se lee la cantidad de números que tendrá la serie.

Por ejemplo:

  • Si el usuario escribe 5, se mostrarán 5 números.
  • Si escribe 10, se mostrarán 10 números.

El ciclo while

while(c != x)

El ciclo se ejecuta mientras el contador sea diferente de la cantidad solicitada.

Cada vuelta del ciclo genera un número nuevo de la serie.

Mostrar el número actual

System.out.print(vi + ",");

Imprime el valor almacenado en vi, que representa el número actual de la serie.

Condición con el interruptor

if(sw == 1){ vi++; sw = 0; }else{ vi *= 2; sw = 1; }

Aquí ocurre la parte más importante del programa.

  • Si sw vale 1, el programa suma 1 al número actual.
  • Después cambia sw a 0 para que la siguiente vez multiplique.
  • Si sw vale 0, multiplica el número por 2.
  • Luego vuelve a poner sw en 1 para que la siguiente vez vuelva a sumar 1.

Gracias a este interruptor, las operaciones se alternan automáticamente.

Incremento del contador

c++;

Después de generar un número, el contador aumenta en uno para saber cuántos elementos ya fueron mostrados.

Ejemplo de ejecución

Si el usuario introduce:

6

La salida será:

2,3,6,7,14,15,

Resumen del algoritmo

  1. Comienza con el número 2.
  2. Lo muestra en pantalla.
  3. Alterna entre:
    • Sumar 1.
    • Multiplicar por 2.
  4. Repite el proceso hasta mostrar la cantidad de números indicada por el usuario.

No hay comentarios.:

Publicar un comentario

Mostrar los x primeros números de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... en Java

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

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