Math
El reloj modular
Una esfera de m marcas y una aguja. Sumar dibuja una estrella que cierra tras m/mcd(s, m) movimientos; multiplicar, un ciclo cuya longitud divide a phi(m). Algunos módulos no tienen ninguna raíz primitiva, y la tarjeta lo dice: es un teorema, no una búsqueda fallida.

Qué ocurre
La aguja avanza paso a paso y las marcas tocadas se encienden; las que quedan oscuras responden antes de que el panel nombre el mcd. El paso 8 en doce marcas dibuja un triángulo; el paso 5, una estrella sobre las doce, porque 5 y 12 no comparten factor. Al multiplicar la regla cambia: k → k·g, la longitud del ciclo es el ORDEN de g y por Euler ese orden DIVIDE a phi(m) - en diecisiete marcas solo caben 1, 2, 4, 8 y 16. Una raíz primitiva es un g cuyo orden es exactamente phi(m); en una esfera prima recorre todas las marcas salvo el cero. ¿Cuántas hay? Exactamente phi(phi(m)), y el panel también las cuenta por fuerza bruta. Y lo esencial: las raíces primitivas no existen para todo módulo, sino solo para 1, 2, 4, p^k y 2p^k. Para 8, 12, 15, 16, 20, 21 o 24 no hay ninguna, y la tarjeta lo dice en voz alta en lugar de no encontrar nada en silencio.
Ecuaciones del módulo
Ecuaciones sumar: la aguja en la posición k pasa a k + s (mod m); el ciclo se cierra tras m / gcd(s, m) movimientos y visita TODAS las marcas exactamente cuando gcd(s, m) = 1 m = 12, s = 8 → 3 marcas (un triángulo); m = 12, s = 5 → todas las 12; m = 360, s = 84 → 30 multiplicar: k → k·g (mod m); la longitud del ciclo es el ORDEN de g, y por el teorema de Euler divide a phi(m) m = 17: phi = 16 y los órdenes presentes son 1, 2, 4, 8, 16 - no puede aparecer ningún otro una raíz primitiva es un g cuyo orden ES phi(m); para un m primo eso significa un ciclo que recorre las m − 1 marcas distintas de cero cuántas: exactamente phi(phi(m)) cuando existen - m = 7 → 2 (la menor 3), m = 11 → 4 (la menor 2), m = 23 → 10 (la menor 5) CUÁNDO EXISTEN: solo para m = 1, 2, 4, p^k y 2p^k. Para 8, 12, 15, 16, 20, 21, 24 NO hay ninguna raíz primitiva - es un teorema, no una búsqueda fallida phi se calcula aquí, no se toma de una tabla: phi(7) = 6, phi(9) = 6, phi(12) = 4, phi(16) = 8, phi(36) = 12, phi(100) = 40, phi(1000) = 400


