Código del ejercicio:
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 mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> 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.
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 asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
-- --> el operador de decremento (--) disminuye (o resta de a uno) su operando y retorna un valor.
Explicación del Código:
¿Qué hace el programa?
Este programa solicita al usuario un número y verifica si es un número perfecto.
Un número perfecto es aquel cuya suma de todos sus divisores exactos, excepto el mismo número, es igual al número original.
Ejemplo:
Número: 6
Divisores: 1, 2 y 3
1 + 2 + 3 = 6
Entonces, el número 6 es perfecto.
Código del Programa
#include <stdio.h>
#include <locale.h>
int main(){
setlocale(LC_CTYPE, "Spanish");
int ac = 0, n, r;
printf("Ingrese un número: ");
scanf("%i", &n);
int i = n - 1;
while(i > 0){
r = n % i;
if(r == 0){
ac += i;
}
i--;
}
if(n == ac){
printf("El número es perfecto.");
}else{
printf("El número no es perfecto.");
}
return 0;
}
Explicación Simple del Código
#include <stdio.h>
Permite usar funciones como printf y scanf.
#include <locale.h>
Permite configurar caracteres y lenguaje en español.
int main()
Es la función principal donde inicia el programa.
setlocale(LC_CTYPE, "Spanish");
Configura el idioma español para mostrar correctamente caracteres especiales.
int ac = 0, n, r;
Declara variables:
ac → almacena la suma de divisores.
n → guarda el número ingresado.
r → guarda el residuo de una división.
printf y scanf
Solicitan y almacenan el número ingresado por el usuario.
int i = n - 1;
Inicializa la variable i con un número menor a n
para buscar divisores.
while(i > 0)
Repite el proceso mientras i sea mayor que cero.
r = n % i;
Obtiene el residuo de dividir n entre i.
if(r == 0)
Verifica si i es divisor exacto de n.
ac += i;
Suma el divisor encontrado al acumulador.
i--;
Disminuye i en 1 para seguir revisando divisores.
if(n == ac)
Comprueba si la suma de divisores es igual al número ingresado.
printf("El número es perfecto.");
Muestra el mensaje si el número es perfecto.
printf("El número no es perfecto.");
Muestra el mensaje si el número no es perfecto.
return 0;
Finaliza correctamente el programa.
No hay comentarios.:
Publicar un comentario