Hoy vamos a ver un ejercicio de Python. Se trata de obtener la suma de todos los divisores de determinado número.
Esto, además de mostrarlos la sumatoria de los divisores de un entero en Python, nos permitirá saber si un número es primo.
Para saber si un número es primo podemos comprobar que la suma de los divisores del mismo sean igual a 1.
Sumatoria de divisores
El algoritmo es realmente sencillo. Hay que hacer un ciclo desde el 1 hasta el número, sin incluir el número. Para esto usamos range
.
Dentro del ciclo comprobamos si el paso actual del ciclo es divisor del número, con el operador %
. En caso de que sí, lo sumamos a una variable declarada como suma.
Finalmente, al terminar el ciclo, regresamos el resultado. El código queda así:
def suma_divisores(numero):
suma = 0
for i in range(1, numero):
if numero % i == 0:
suma += i
return suma
numero = int(input("Ingresa el número: "))
print("La suma es de sus divisores es: ")
print(suma_divisores(numero))
La función devolverá la suma de divisores del número que recibe. En este caso para ejemplificar he usado input para solicitar al usuario el número.