sábado, 13 de junio de 2026

Mostrar los n primeros números de la siguiente serie: 1,3,9,11,33,35,105,107,... en C

Código del ejercicio:

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int c = 1, vi = 1, n;
    printf("Ingrese un número: ");
    scanf("%i", &n);
    while(c <= n){
        if(c != 1){
            if(c % 2 == 0){
                vi += 2;
            }else{
                vi *= 3;
            }
        }
        printf("%i,", vi);
        c++;
    }
    return 0;
}

Definición de los códigos del ejercicio:

#include <stdio.h> --> significa "standard input-output header" (cabecera estándar E/S), es un archivo de encabezado que tiene la información necesaria para incluir las funciones relacionadas con la entrada/salida en nuestro programa. Ejemplo printf, scanf, etc.
#include <locale.h> --> especificador de configuración regional.
int --> dato entero de 32 bits.
main() --> es la primera función de cada programa C que es responsable de iniciar la ejecución y finalización del programa. Es una función especial que siempre comienza a ejecutar código desde el ' principal ' que tiene ' int ' o ' void ' como tipo de datos de retorno. En otras palabras, una función main() es un punto de entrada del código de programación para iniciar su ejecución.
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
scanf() --> permite entrar datos en la memoria del ordenador a través del teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
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 de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
*= --> 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:

Este programa en C genera los n primeros términos de una serie numérica: 1, 3, 9, 11, 33, 35, 105, 107...

Código del programa

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_CTYPE, "Spanish");

    int c = 1, vi = 1, n;

    printf("Ingrese un número: ");
    scanf("%i", &n);

    while(c <= n){

        if(c != 1){

            if(c % 2 == 0){
                vi += 2;
            }else{
                vi *= 3;
            }

        }

        printf("%i,", vi);
        c++;
    }

    return 0;
}

Explicación simple

1. Librerías

#include <stdio.h> permite usar entrada y salida como printf y scanf.

#include <locale.h> activa soporte de idioma español.

2. Variables

c cuenta las iteraciones, vi guarda el valor de la serie y n es el límite.

3. Entrada de datos

El usuario ingresa cuántos números de la serie desea ver.

4. Bucle while

Repite el proceso hasta llegar a n.

5. Lógica de la serie

- Si la posición es 1, se mantiene el valor inicial.
- Si la posición es par, se suma 2.
- Si la posición es impar, se multiplica por 3.

6. Salida

Se imprimen los valores de la serie uno por uno.

Resultado de la serie

Posición Operación Resultado
1Inicio1
21 + 23
33 × 39
49 + 211
511 × 333
633 + 235
735 × 3105
8105 + 2107

No hay comentarios.:

Publicar un comentario

Mostrar los n primeros números de la siguiente serie: 1,3,9,11,33,35,105,107,... en C

Código del ejercicio: #include <stdio.h> #include <locale.h> int main (){     setlocale (LC_CTYPE, "Spanis...

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