domingo, 24 de mayo de 2026

Pedir un número y determinar si un número es perfecto en C Sharp

Código del ejercicio:

int ac = 0;
Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());
int i = n - 1;
while(i > 0)
{
    int r = n % i;
    if(r == 0)
    {
        ac = ac + i;
    }
    i = i - 1;
}
if(n == ac)
{
    Console.Write("El número es perfecto.");
}
else
{
    Console.Write("El número no es perfecto.");
}
Console.ReadKey();

Definición de los códigos del ejercicio:

Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 bits.
Console.ReadLine() --> lee un dato desde teclado.
Parse() --> se utiliza para convertir una representación de cadena de un número en un entero equivalente con signo de 16/32/64 bits.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
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 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.
Console.ReadKey() --> escribimos el método Console.ReadKey() al final de nuestro código para mantener abierta la ventana de nuestra consola.

Explicación del Código:

int ac = 0;
Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());

int i = n - 1;

while(i > 0)
{
    int r = n % i;

    if(r == 0)
    {
        ac = ac + i;
    }

    i = i - 1;
}

if(n == ac)
{
    Console.Write("El número es perfecto.");
}
else
{
    Console.Write("El número no es perfecto.");  
}

Console.ReadKey();

1. Variable acumuladora

int ac = 0; crea una variable llamada ac para guardar la suma de los divisores del número.

2. Pedir el número

Console.Write("Ingresar número: "); muestra un mensaje para que el usuario escriba un número.

int n = int.Parse(Console.ReadLine()); lee el número ingresado y lo guarda en la variable n.

3. Inicializar contador

int i = n - 1; hace que la variable i empiece un número antes del valor ingresado.

4. Recorrer divisores

while(i > 0) ejecuta el ciclo mientras i sea mayor que cero.

5. Obtener el residuo

int r = n % i; calcula el residuo de la división entre n e i.

Si el residuo es 0, entonces i es divisor del número.

6. Sumar divisores

if(r == 0) verifica si el residuo es igual a cero.

ac = ac + i; suma el divisor encontrado en la variable acumuladora.

7. Disminuir el contador

i = i - 1; reduce el valor de i en uno para continuar revisando más divisores.

8. Verificar si es perfecto

if(n == ac) compara el número ingresado con la suma de sus divisores.

Si ambos son iguales, el número es perfecto.

9. Mostrar resultado

Console.Write("El número es perfecto."); muestra el mensaje cuando el número es perfecto.

Console.Write("El número no es perfecto."); muestra el mensaje cuando el número no es perfecto.

10. Pausar la consola

Console.ReadKey(); espera que el usuario presione una tecla antes de cerrar la consola.

No hay comentarios.:

Publicar un comentario

Pedir un número y determinar si un número es perfecto en C Sharp

Código del ejercicio: int ac = 0 ; Console . Write ( "Ingresar número: " ); int n = int . Parse ( Console . ReadLi...

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