Devolver la fórmula equivalente de Base 9

He estado abordando un ejercicio que nos dio nuestro instructor que es devolver el "base 9"equivalente a un número introducido.

El número de entrada es: 231085 y
el número de retorno es: 382871.

No tengo idea de cómo se le ocurrió ese equivalente llamado "base 9".
Intenté buscar la fórmula sobre cómo obtener el equivalente en base 9 en la web, pero me resultó muy difícil de entender, además del hecho de que soy muy débil en matemáticas y álgebra.

Intenté usar módulo y división para resolverlo y no encontré nada (por supuesto, mi fórmula estaba mal).

Estoy realmente estupefacto con este problema y agradecería si alguien me pudiera iluminar sobre la fórmula para resolverlo.

¿O tal vez la respuesta o el problema en sí está mal?

¡Aclamaciones!

preguntado el 08 de noviembre de 11 a las 14:11

2 Respuestas

El sistema de numeración de base 9 es un sistema que utiliza nueve dígitos para representar números. Es decir,

231,085 = 2 × 105
                 + 3 × 104
                 + 1 × 103
                 + 0 × 102
                 + 8 × 101
                 + 5 × 100

en el sistema de base 10, también conocido como el sistema de numeración decimal. Pero en el sistema de base 9, lo escribe en términos de múltiplos enteros de potencias de 9, en lugar de potencias de 10 como se muestra arriba:

381,881 = 3 × 95
                 + 8 × 94
                 + 1 × 93   (Su instructor le dio el número equivocado, por cierto. Es 381,881 no 382,871)
                 + 8 × 92
                 + 8 × 91
                 + 1 × 90

Tenga en cuenta que los coeficientes de las potencias de 10 en la representación de base 10 (es decir, el 2, 3, 1, 0, 8 y 5) son siempre uno de los diez dígitos decimales (del cero al nueve). Asimismo, los coeficientes de las potencias de 9 en la representación de base 9 (el 3, 8, 1, 8, 8, 1) son siempre uno de los nueve dígitos decimales (del cero al ocho). Algo más y tendrías que llevarlo a cabo, como aprendiste en la suma de números de varios dígitos en la escuela primaria.

Ahora, para que el algoritmo convierta la representación de base 10 en base 9, primero eche un vistazo a Convertir un número decimal en binario que convierte de base-10 a base-2. La única diferencia es que dividirías por potencias de 9, en lugar de potencias de 2 como lo hace esta pregunta.

Siguiendo el ejemplo de la pregunta vinculada,

            [231085]  [53938]   [1450]   [721]   [73]   [1]  
             ÷59049    ÷6561     ÷729     ÷81     ÷9    ÷1
              [3]       [8]       [1]     [8]     [8]   [1] 

Si desea dividir sistemáticamente un entero de base 10 en sus dígitos, debe seguir este patrón:

  1. Divida el número por 10 (la base).
  2. El resto de la división será el siguiente dígito menos significativo.
  3. Repita con el nuevo número dividido (es decir, el cociente de la división del paso 1) hasta que el cociente llegue a 0.

Entonces, para 231,085, las iteraciones son las siguientes:

 Step:         1          2        3       4      5       6
-------------------------------------------------------------
 Number:    231,085    23,108    2,310    231     23      2
                ÷10       ÷10      ÷10    ÷10    ÷10    ÷10
-------------------------------------------------------------
 Quotient:   23,108     2,310      231     23     2       0  <-- Quotient reached 0, so stop
 Remainder:       5         8        0      1     3       2

Como puede ver, el resto de cada paso es el siguiente dígito menos significativo en el número 231,085 5. Eso significa que 8 es el dígito menos significativo. Luego viene 8, que en realidad es 10 × 80 = 10, y 1> 0; luego 100 × 100, y 10> XNUMX, etc.

Ahora, si tuviera que dividir por 9 en cada paso en lugar de por 10 como se indicó anteriormente, entonces la tabla se vería algo así como

 Step:         1          2        3       4       5      6
-------------------------------------------------------------
 Number:    231,085    25,676    2,852    316     35      3
                 ÷9        ÷9       ÷9     ÷9     ÷9     ÷9
-------------------------------------------------------------
 Quotient:   25,676     2,852      316     35      3      0
 Remainder:       1         8        8      1      8      3

Y ahora los restos están en orden inverso a la representación en base 9 del número en base 10 231,085.

Esta respuesta en realidad no le brinda el código para la conversión base, pero la lógica básica se describe arriba, y el algoritmo existe en todo Internet (tal vez para diferentes bases, pero todo lo que necesita cambiar es la base en la división) .

contestado el 23 de mayo de 17 a las 15:05

La respuesta de su instructor es incorrecta.

http://www.wolframalpha.com/input/?i=231085+in+base+9

respondido 08 nov., 11:19

Esto es cierto, pero intente dar una pequeña explicación de por qué es incorrecto si es así. :) - Codeman

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.