Numero Amigo
Un ejemplo es el par (220, 284), ya que:
* Los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110, que suman 284.
* Losdivisores propios de 284 son 1, 2, 4, 71 y 142, que suman 220.
Código
PROGRAM PRACTICA4
INTEGER a, b, i, j, n, m, s, t
PRINT *, 'Introduzca el número n (el menor)'
READ *, nPRINT *, 'Introduzca el número m (el mayor)'
READ *, m
DO WHILE (n<m)
DO i=1, n/2
a=MOD(n,i)
IF (a==0) THEN
s=s+i
END IF
END DO
DO j=1, m/2
b=MOD(m,j)
IF (b==0) THENt=t+j
END IF
END DO
IF (s==t) THEN
PRINT *, n, ' y ', m, ' son amigos'
END IF
n=n+1
END DO
END
Hola, los números perfectos son aquellos iguales a la suma detodos los divisores menores que sí mismo.
Un algoritmo sencillo puede ser:
Para determinar si el número N es perfecto
► Inicializar suma en 0
► Recorrer los números de 1 hasta N-1
∟ Si el númerodivide a N, sumarlo a suma
► Devolver si el número es igual a la suma ó no
( INICIO )
↓
-------------
/ leer N /
/________/
↓
┌──────┐
│suma←0 │ │ div ← 1 │
└───┬──┘
↓ ◄───────┐
sí─ ¿div = N? │
│ │no │
│ ↓ │
│¿N mod div = 0? ─no-┤
│ ↓sí ││┌───────────┐ │
││suma←suma+div├─┘
││ div ←div + 1 │
│└───────────┘
│ ------------- -------------
└► /escribir ¿suma=N?/─►( FIN )
/_______ ________/
Espero que seentienda. El último /_/ puede ser reemplazado por un condicional, que por un lado escriba "No es perfecto", y por el otro "Es perfecto", y ambos finalicen en (fin)
Las condiciones deben...
Regístrate para leer el documento completo.