Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/01/2015, 20:55
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: método de codificación de números naturales

Ya veo, parece que tu problema es sencillo, simplemente no sabes matemáticas. Pero no te preocupes esto se arregla leyendo y haciendo ejercicio.

Vamos a tomar un curso rápido:

¿Que pasa si divido un numero n entre 10?

Hagamos algunos ejemplos
n = 20 -> n / 10 = 2
n = 33 -> n / 10 = 3.3
n = 987 -> n / 10 = 98.7

Ahora que pasa si usamos división entera (o si lo quieres ver de otra forma nos quedamos con solo la parte entera).

n = 20 -> n / 10 = 2
n = 33 -> n / 10 = 3
n = 987 -> n / 10 = 98

Wow es como desplazar el numero a derecha.
Si lo hago otra vez con el 98 que quedo en el ultimo ejemplo.
Código:
987 -> 
    987 / 10 = 98 -> 
        98 / 10 = 9 -> 
            9 / 10 = 0
Excelente todos los números en algún punto llegan a 0.

Ahora vamos a analiza otra propiedad interesante
Cualquier numero n % 10 nos da su ultimo dígito (si lo lees de izquierda a derecha). Algunos ejemplos
n = 20 -> n % 10 = 0
n = 33 -> n % 10 = 3
n = 987 -> n % 10 = 7

Con esta información ahora puedes iterar sobre los dígitos de cualquier numero.
Ejemplo:
Código:
n = 987 ->
    n % 10 -> *7*
    n / 10 -> 98
    n = 98
        n % 10 -> *8*
        n / 10 -> 9
        n = 9
            n % 10 -> *9*
            n / 10 -> 0
            n = 0
Buena suerte con tu problema.