[Python] Ejercicio dificil :(

Iniciado por edutero15, 29 Abril 2011, 03:10 AM

0 Miembros y 1 Visitante están viendo este tema.

edutero15

Si dos números enteros cumplen la propiedad que la suma de los divisores de cada uno de ellos es igual al otro entonces los llamamos números amigos. Por ejemplo el 220 y el 284 son números amigos ya que


220 tiene como divisores a 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110 y su suma es 284


284 tiene como divisores a 1, 2, 4, 71 y 142 y su suma es 220


ESCRIBE UN PROGRAMA QUE DADO DOS NUMEROS ENTEROS POSITIVOS "DESDE Y HASTA" , MUESTRE POR PANTALLA TODAS LAS PAREJAS DE NUMEROS AMIGOS COMPRENDIDOS ENTRE "DESDE Y HASTA" . ADEMAS DOS NUMEROS AMIGOS DEBERAN APARECER UNA VEZ POR PANTALLA

leogtz

Aquí no se hacen tareas, lee las reglas.

Si quieres que te ayudemos, debes poner algo de código, dudas concretas.

Ni siquiera has dicho en qué lenguaje es. Solo vienes y posteas y ni siquiera pides ayuda amablemente.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

edutero15

perdon estaba viendo como iba quedando el mensaje y lo enviee, me falto poner que es para python, y si me podrian ayudar porque el que yo hice quedo asi.


Código (python) [Seleccionar]
def numeros_amigos(x,y):
    suma_x=0
    suma_y=0
    for i in range(1,x):
        if x%i==0:
            suma_x+=i

    for k in range(1,y):
        if y%k==0:
            suma_y+=k

    return suma_x==y and suma_y==x

n_1=int(raw_input('Introduzca el nº 1: '))
n_2=int(raw_input('Introduzca el nº 2: '))

if numeros_amigos(n_1,n_2):
    print 'Son amigos'
else:
    print 'No son amigos'

edutero15

y este codigo me tira un error cuando lo quiero ejecutar. me dice "Traceback (most recent call last) :
File input, line 1, in ?
Keyboardinterrupt

Muchas Gracias

Novlucker

Supongo que el error debe de ser porque estas utilizando python 3.x, y el código es para 2.7 o inferior, donde la función raw_input existe

Te has esmerado, el copy/paste de la wikipedia es "bonito" :D

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

edutero15

pythonG-windows-2_1_5 esa version es la que uso, muchas gracias !

Novlucker

Python != Pythong. Lo segundo es un modulo, así que no veo como estas utilizando eso

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

edutero15

2.3 es la version, te copie la carpeta por eso aparece el pythonG