Números amigos

Ir abajo

Números amigos

Mensaje  Arbolito el Vie Jul 13, 2012 7:22 pm

Números amigos


¿Qué son?
Los números amigos son dos enteros positivos a y b, cuya suma de los divisores de b da como resultado a y viceversa.

Por ejemplo 284 y 220 son números amigos ya que:

Divisores de 220: 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284.
Divisores de 284: 1 + 2 + 4 + 71 + 142 = 220.

Este es un script en Ruby que pide dos números y dice si son amigos o no.

def amicable_numbers(inum_a,inum_b)
i = 1
x = 1
su_a = 0
su_b = 0
while (i < inum_a)
if (inum_a % i == 0)
su_a += i
end
i += 1
end
while (x < inum_b)
if (inum_b % x == 0)
su_b += x
end
x += 1
end
if (su_a == inum_b) && (su_b == inum_a)
return true
else
return false
end
end


puts "
--- Amicable Numbers ---
--- :[Tienes que estar registrado y conectado para ver este vínculo] ---
- :[Tienes que estar registrado y conectado para ver este vínculo] - "

print "1 > "
num_a = gets.chomp
print "2 > "
num_b = gets.chomp
puts "Numeros:
1 = #{num_a}
2 = #{num_b}"
num_a = num_a.to_i
num_b = num_b.to_i

if amicable_numbers(num_a,num_b)
puts "Los numeros son amigos"
else
puts "Los numeros no son amigos"
end

FUENTE: cibernodo
avatar
Arbolito
Admin
Admin

Mensajes : 167
Fecha de inscripción : 27/06/2012

Ver perfil de usuario http://arbolito.foroactivo.mx

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.