Como seguro recordáis, hace un tiempo publicamos un artículo en el que se describía un procedimiento bastante interesante y sencillo para calcular el resto que deja un número natural al dividirlo entre 7. El procedimiento consistía en moverse a través de un cierto grafo dirigido en el que aparecían flechas blancas y negras. El artículo en cuestión es éste.
Bien, pues este artículo ha aparecido hace nada en la lista de correo de Snarkianos, en la que José H. Nieto nos da la forma de construir dicho grafo para cualquier número natural mayor que 1. Ahí va la construcción:
Dado
, construimos un grafo con nodos
. Las flechas negras deben ir desde
hasta
módulo
(vamos, que hay que unir con una flecha negra cada nodo del grafo con el siguiente), y las flechas blancas van desde
hasta
módulo
(por ejemplo, para el grafo del 7, desde el 3 sale una hasta el 2, ya que 10·3 módulo 7 es 2).
Con esta sencilla regla podemos construir un grafo de divisibilidad para cualquier número natural mayor que 1. En la siguiente imagen podéis ver el grafo de divisibilidad del 13. Las flechas verdes equivalen a las flechas blancas que aparecían en el grafo del 7 (la arista verde del 0 sale de él y entra en él mismo):
Como podéis ver el grafo es simétrico respecto de la perpendicular que pasa por el vértice 0. Lo mismo ocurre con el siguiente, el grafo de divisibilidad del 17:
Paco Moya, que es quien comentó en tema en la lista de correo, comentaba que él construyó el grafo del 13 y también observó que era simétrico, al igual que el del 7. Y en esta última imagen vemos que también lo es el del 17. Y él mismo nos pregunta por qué. En general, ¿sabéis algún criterio para determinar cuáles salen simétricos y cuáles no?
El grafo está hecho con el programa Grafos 1.3.0 y, bueno, aunque no ha quedado mal a mí me hubiese gustado que el programa dejará mayores posibilidades de personalización. En principio probé con Graphviz, del que Manz hablaba en este post, pero algunas de las cosas que quería hacer no se pueden hacer de forma sencilla con este programa (por ejemplo, dejar fijos los vértices del grafos en forma de círculo en orden creciente). El mejor intento que conseguí fue éste, utilizando la opción circo. ¿Alguien sabe utilizarlo lo suficiente como para crear el grafo anterior con él?
¿Te ha gustado la entrada? Puedes invitarme a un café, Gauss te lo agradecerá 😉
Es inmediato que cualquier número daría un grafo simétrico.
Porque si tenemos que:
10 a mod m = b
Entonces:
10 (m-a) mod m = (m-b)
Información Bitacoras.com…
Valora en Bitacoras.com: Como seguro recordáis, hace un tiempo publicamos un artículo en el que se describía un procedimiento bastante interesante y sencillo para calcular el resto que deja un número natural al dividirlo entre 7. El procedimiento……
¡Buenísimo! Muchas gracias 🙂 Me da ganas de programarlo.
¡Un saludo! Diego.
@Diego,
aquí tienes implementada una clase que genera el grafo para cualquier número dado y para una agrupación de dígitos dada (no sólo de 0 a 9, sino de 0 a 99, de 0 a 999, etc…) dividiendo el número de iteraciones (del grafo) a la mitad, a la tercera parte, etc…
(código fuente)
Hola, ^DiAmOnD^ y demás.
Llevaba más de una semana intentando formar el grafo módulo 13 y no había manera.
He probado con grafos 1.3.0 y también con Graphviz, pero nada. El primero no me dejaba conectar 2 veces los mismos 2 arcos, ¿cómo lo has hecho?
Paco, jejeje, ese es el mismo problema que tuve yo. Lo que hice fue poner al lado del 4 para el primero caso y del 3 para el segundo un nodo lo más pequeño posible y después borrarlo con el Paint. No se me ocurrió otra cosa.
[…] Nota de las autoras: El método para conocer el resto al dividir por 7 un número natural lo encontramos aquí y nos encantó En su blog, Gaussianos nos cuenta cómo hacer ése grafo para cualquier número natural. […]
fantástico…. interesante…. útil.