lunes, 20 de julio de 2026

Generar los números perfecto: 6,28,496,8128 en Python

Código del ejercicio:

for i in range(2,9000):
    b = 0
    for j in range(1, (i // 2) + 1):
        if((i % j) == 0):
            b = b + j
    if(b == i):
        print("El numero " + str(i) + " es perfecto")

Definición de los códigos del ejercicio:

for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
% --> 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.
print() --> imprime un mensaje en la pantalla.
str() --> convierte el valor especificado en una cadena.
+ --> el operador ( + ) concatena variables de cadena.

Explicación del Código:

¿Qué hace este programa?

Este programa busca todos los números perfectos entre 2 y 9000. Un número perfecto es aquel cuya suma de todos sus divisores positivos, excepto él mismo, es igual al propio número.

Los números perfectos encontrados son:

  • 6
  • 28
  • 496
  • 8128

Código

for i in range(2,9000):
    b = 0
    for j in range(1, (i // 2) + 1):
        if((i % j) == 0):
            b = b + j
    if(b == i):
        print("El numero " + str(i) + " es perfecto")  

Explicación de cada parte del código

  • for i in range(2,9000):
    Recorre todos los números desde 2 hasta 8999. Cada número será analizado para saber si es perfecto.
  • b = 0
    Inicializa la variable b en cero. Esta variable almacenará la suma de los divisores del número.
  • for j in range(1, (i // 2) + 1):
    Recorre todos los posibles divisores del número i, desde 1 hasta la mitad del número, ya que ningún divisor propio puede ser mayor que su mitad.
  • if((i % j) == 0):
    Comprueba si j divide exactamente al número i. Si el residuo es cero, significa que es un divisor.
  • b = b + j
    Si j es divisor, se suma a la variable b.
  • if(b == i):
    Cuando termina de sumar todos los divisores, compara si la suma es igual al número original.
  • print("El numero " + str(i) + " es perfecto")
    Si la suma de los divisores es igual al número, se muestra el mensaje indicando que es un número perfecto.

¿Cómo funciona el programa?

  1. Toma un número entre 2 y 9000.
  2. Busca todos sus divisores.
  3. Suma esos divisores.
  4. Compara la suma con el número.
  5. Si ambos son iguales, imprime que es un número perfecto.
  6. Repite el proceso con el siguiente número.

Ejemplo con el número 28

Divisores de 28 (sin contar el 28):

1 + 2 + 4 + 7 + 14 = 28

Como la suma de sus divisores es igual al número, el programa indica:

El numero 28 es perfecto
Resumen:

El programa recorre todos los números entre 2 y 9000, encuentra sus divisores, los suma y verifica si esa suma es igual al número. Si se cumple esta condición, el número es perfecto y se imprime en pantalla. Gracias a este proceso, el programa obtiene los números perfectos: 6, 28, 496 y 8128.

No hay comentarios.:

Publicar un comentario

Generar los números perfecto: 6,28,496,8128 en Python

Código del ejercicio: for i in range ( 2 , 9000 ):     b = 0     for j in range ( 1 , (i // 2 ) + 1 ):         if ((i % j)...

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