Pages

jueves, 17 de enero de 2013

Determinar si dos números son amigos Codigo Fuente en Python

Problema
Implementar un algoritmo que determine si dos números son amigos.

Solución
Ingresamos dos números a los cuales les extraeremos sus divisores para luego determinar si estos números son amigos

Ejemplo
  • Entrada: 220  y 284
             Suma de Divisores 220:   1+2+4+5+10+11+20+22+44+55+110 = 284
             Suma de Divisores 284:   1+2+4+71+142 = 220
             Son amigos por que la suma de los divisores de un número es igual al otro número.
  • Salida: Son números amigos
Codigo Fuente en Python
def suma(N,S):
       for i in range(2,N):
             if(N % i==0):
                    S=S+i
       return S
sum1,sum2=1,1
n1=int(input("ingrese primer numero\n"))
n2=int(input("ingrese segundo numero\n"))
sum1 = suma(n1, sum1)
sum2 = suma(n2, sum2)
if((sum1==n2)and (sum2==n1)):
       print("los numeros "+str(n1)+" y "+
       str(n2)+" Si son numeros amigos")
else:
       print("los numeros "+str(n1)+" y "+
       str(n2)+" No son numeros amigos")

0 comentarios:

Publicar un comentario