Números Amigos en RPG IV (AS400)
NÚMEROS AMIGOS
Dos números amigos son
dos enteros positivos a y b
tales que a es
la suma de los divisores propios de b y b es
la suma de los divisores propios de a. (la unidad se considera
divisor propio, pero no lo es el mismo número).
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.
Los divisores propios de 284 son 1, 2, 4, 71 y 142,
que suman 220.
REALIZAR UN PROGRAMA QUE
PERMITA INGRESAR DOS NUMEROS ENTEROS Y QUE LUEGO AVERIGUE SI DICHOS NUMEROS SON
AMIGOS O NO
ALGORITMO
PANTALLA
PROGRAMA COMPLETO
DNUM1 S 10S 0
DNUM2 S 10S 0
DDIV1 S 10S 0
DDIV2 S 10S 0
DSUM1 S 10S 0
DSUM2 S 10S 0
DMSG S
30A
C 'NUMERO 1:' DSPLY NUM1
C 'NUMERO 2:' DSPLY NUM2
C EVAL DIV1=1
C EVAL DIV2=1
C EVAL SUM1=0
C EVAL SUM2=0
C DOW DIV1<NUM1
C IF %REM(NUM1:DIV1)=0
C EVAL SUM1=SUM1+DIV1
C ENDIF
C EVAL DIV1=DIV1+1
C ENDDO
C DOW DIV2<NUM2
C IF %REM(NUM2:DIV2)=0
C EVAL SUM2=SUM2+DIV2
C ENDIF
C EVAL DIV2=DIV2+1
C ENDDO
C 'SUM DIV NUM1'DSPLY SUM1
C 'SUM DIV NUM2'DSPLY SUM2
C IF SUM1=NUM2 AND SUM2=NUM1
C EVAL MSG='LOS NUMEROS SON AMIGOS'
C ELSE
C IF NUM1=NUM2 OR NUM1<>NUM2
C EVAL MSG='LOS NUMEROS NO SON AMIGOS'
C ENDIF
C ENDIF
C DSPLY MSG
C EVAL *INLR='1'







0 comentarios:
Publicar un comentario