s2Eva_IIT2002_T1 Número perfecto

Ejercicio: 2Eva_IIT2002_T1 Número perfecto

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# Final II Termino 2002.
# Tema 1. numero perfecto
# Propuesta de solución edelros@espol.edu.ec

def perfecto(n):
    s=0
    i=1
    while (i<n):
        r=n%i
	# Acumula solo si i es divisor
        if r==0:
            s=s+i
        i=i+1
    if n==s:
        z=1
    else:
        z=0
    return z


# Final II Termino 2002.
# T1. Buscar numeros perfectos
# Propuesta de solución. edelros@espol.edu.ec

import numpy
import perfecto

m=int(input('¿rango m? :'))

# Procedimiento
encontrado=numpy.zeros(m+1,dtype=int)
k=0
i=1
while (i<=m):
    encontrado[i]=perfecto.perfecto(i)
    i=i+1

# Salida
i=1
while (i<=m):
    if encontrado[i]==1:
        print(i)
    i=i+1