lunes, 4 de mayo de 2026

Pedir un número y determinar si un número es perfecto en JavaScript

Código del ejercicio:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejercicio JavaScript</title>
</head>
<body>
    <script>
        let n = parseInt(prompt('Ingresar número:'));
        let ac = 0, i = n - 1;
        while(i > 0){
            r = n % i;
            if(r == 0){
                ac = ac + i;
            }
            i = i - 1;
        }
        if(n == ac){
            document.write("El número es perfecto.");
        }else{
            document.write("El número no es perfecto.");
        }
    </script>
</body>
</html>

Definición de los códigos del ejercicio:

<script></script> --> contiene comandos u ordenes que se van ejecutando de manera secuencial y comúnmente se utilizan para controlar el comportamiento de un programa en específico o para interactuar con el sistema operativo.
let --> permite declarar variables limitando su alcance (scope) al bloque, declaración, o expresión donde se está usando.
parseInt() --> analiza un valor como una cadena y devuelve el primer entero.
prompt() --> muestra un cuadro de diálogo con mensaje opcional, que solicita al usuario que introduzca un texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> se usa para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> se usa 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 comparacion ( == ) comprueba si sus dos operandos son iguales y devuelve un resultado booleano.
document.write --> imprime el texto especificado en la página.

Explicación del Código:


1. Entrada de datos

Se solicita un número al usuario con prompt() y se convierte a entero con parseInt().

let n = parseInt(prompt('Ingresar número:'));
2. Inicialización

Se crea un acumulador ac para guardar la suma de divisores.
La variable i inicia en n - 1.

let ac = 0, i = n - 1;
3. Bucle

Se usa while para recorrer los números menores que n.

while(i > 0){
4. Verificación de divisores

Se usa el operador % para verificar si un número divide exactamente a otro.

r = n % i; if(r == 0){ ac = ac + i; }
5. Decremento

Se disminuye el valor de i para continuar el ciclo.

i = i - 1;
6. Resultado final

Se compara si la suma de divisores es igual al número ingresado.

if(n == ac){ document.write("El número es perfecto."); }else{ document.write("El número no es perfecto."); }
¿Qué es un número perfecto?

Es un número que es igual a la suma de sus divisores (sin incluirse).
Ejemplo: 6 → 1 + 2 + 3 = 6

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 JavaScript

Código del ejercicio: <! DOCTYPE html > < html lang = "es" > < head >     < meta charset = ...

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