11 chilenos

accounting analytics balance black and white
Photo by Pixabay on Pexels.com

Advertencia: Este artículo es alto en ñoñez.

Cuando lleno un formulario en línea y llega la parte de poner el RUN, mi espíritu ñoño se alegra cuando el formulario es lo más inteligente que puede ser, y a cada número que agrego, confirma si es correcto.

Esto se puede hacer a tiempo real y sin comprobaciones adicionales, porque el número verificador (el raya-7 o raya-8 o lo que sea) se obtiene a partir de los otros dígitos, siguiendo unas reglas matemáticas bastante sencillas. (Para los mega ñoños, el algoritmo completo está en Wikipedia.)

Entonces, en una de estas tardes oscuras de pandemia, se me ocurrió buscar a potencialmente 12 personas, del total de más de 27 millones de inscritos desde que existe el RUN. Son ellos los que, a medida que agregan su número, en ningún momento digitan uno inválido.

Mejor con un ejemplo: el menor de ellos, 27.200.001-8, que debe tener un año de vida o algo así, si nació en Chile, cuando escriba su RUN el software va a verificar primero 2-7 (válido), luego 27-2 (válido), luego 272-0 (válido), y así sucesivamente; todos los números RUN que escriba van a ser válidos.

Sin más preámbulos, la lista completa.

27.200.001-8
19.100.006-4
2.720.000-1
1.910.000-6
3.530.000-7
4.340.000-2
5.150.000-8
7.870.000-9
8.680.000-4
9.490.000-K

Son 11. Hay varios más, obviamente, con números menores de 1 millón. Son los que se generan con truncar los de la lista de derecha a izquierda. Pero todos ellos están muertos probablemente. Con 6 millones no hay ninguno, porque inmediatamente después de escribir un 6, se requiere una K. Gajes del oficio.

Aclaro que no sé nada de ellos. Espero que si alguno de ellos está vivo, y busca su RUN en Google, le aparezca esta página y bueno, si es que no lo sabe aún, aprenda algo del número que escribe varias veces a la semana.

Nada más. Eso era todo lo que buscaba con este artículo.

Post-data (solo para ultra-mega ñoños): la función en python que usé para generar los números verificadores.

def get_veri(s):
    verifinal = 11 - sum([ int(a)*int(b)  for a,b in zip(s.zfill(8), '32765432')])%11
    return {10: 'K', 11: '0'}.get(verifinal, str(verifinal))