slide_likebox { float:right; width:288px; height:345px; background: url(http://www.repelis.com/Temas/default/img/chat-facebook.png) no-repeat !important; display:block; right:-250px; padding:0; position:fixed; top: 130px; z-index:1002; border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px; } div.likeboxwrap { margin-top:2px; margin-left:-5px; width:238px; height:325px; background-color:#fff; overflow:hidden; border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px; } div.likeboxwrap iframe {margin:-1px}

Operadores de Relación RPGIV – AS400

Operadores de Relación RPGIV – AS400

miércoles, 13 de junio de 2012

Números Amigos en RPG IV (AS400)


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

Copyright @2012

Copyright @2012

Esta Wed ha sido creado por Juan Alejandro Rosales Coronel