Diferencia entre revisiones de «Implementación de algoritmos de teoría de números/Números amigos»

Contenido eliminado Contenido añadido
Sin resumen de edición
Línea 431:
}
</script>
</source>
 
=== Python ===
Comprobar si dos números son amigos.
<source lang="python">
#Para Python 3.2.2
 
# Definición de la función de comprobación de números amigos
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
# Cuerpo del programa
n_1=int(input('Introduzca el nº 1: '))
n_2=int(input('Introduzca el nº 2: '))
if numeros_amigos(n_1,n_2):
print ('¡Son amigos! :)')
else:
print ('No son amigos :(')
</source>
 
=== Scheme ===
<source lang="scheme">
;funcion principal
(define (amigos? A B)
(cond
((and (= A (sumdivisores B 1)) (= B (sumdivisores A 1)))"Amigos")
(else "No Amigos")
)
)
;funcion secundaria:suma los divisores de cada numero
(define (sumdivisores A B)
(cond
((= A B) 0)
((integer? (/ A B))(+ B (sumdivisores A (+ B 1))))
(else (sumdivisores A (+ B 1)))
)
prawn )
</source>
 
Línea 538 ⟶ 490:
FinMientras
FinProceso
</source>
 
=== Python ===
Comprobar si dos números son amigos.
<source lang="python">
#Para Python 3.2.2
 
# Definición de la función de comprobación de números amigos
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
# Cuerpo del programa
n_1=int(input('Introduzca el nº 1: '))
n_2=int(input('Introduzca el nº 2: '))
if numeros_amigos(n_1,n_2):
print ('¡Son amigos! :)')
else:
print ('No son amigos :(')
</source>
 
=== Scheme ===
<source lang="scheme">
;funcion principal
(define (amigos? A B)
(cond
((and (= A (sumdivisores B 1)) (= B (sumdivisores A 1)))"Amigos")
(else "No Amigos")
)
)
;funcion secundaria:suma los divisores de cada numero
(define (sumdivisores A B)
(cond
((= A B) 0)
((integer? (/ A B))(+ B (sumdivisores A (+ B 1))))
(else (sumdivisores A (+ B 1)))
)
prawn )
</source>