PROGRAM INVERTE_NUMERO
	IMPLICIT NONE
    INTEGER NUM, NUM_AUX, RESTO, NUM_INV
    
    WRITE(*,*) "DIGITE UM INTEIRO POSITIVO"
    READ (*,*) NUM
    
    NUM_AUX = NUM
    NUM_INV = 0
    DO WHILE(NUM_AUX /= 0) !Faz sucessivas divisões de num por 10. Em cada divisão o resto é um dos dígitos do numero lido.
       RESTO = MOD(NUM_AUX, 10)
       NUM_INV = NUM_INV * 10 + RESTO
       NUM_AUX = NUM_AUX / 10
    END DO
    
    WRITE(*,*)"NUMERO LIDO", NUM, " NUMERO INVERTIDO", NUM_INV
    
    STOP 
END PROGRAM INVERTE_NUMERO