Hace unos días me encontré en la bitácora de makross en Barrapunto una curiosa nota explicando cómo funciona, por así decirlo, el método de asignación de la letra del NIF a partir de un determinado DNI. Aunque es una chorrada, no deja de tener su gracia ;-)
Todo consiste en hacer una simple operación y comparar el resultado
de la misma en una tabla de números enteros que va desde el 0 hasta el
22 y en la que cada número tiene definido una letra distinta. Basta
hacer el módulo entre el número de 8 cifras que forma un DNI y 23
o, lo que es lo mismo, dividir el DNI entre 23 y fijarnos en el resto.
Dependiendo de qué resto nos de (el cual estará entre 0 y 22)
obtendremos una u otra letra y ésta es la letra del NIF para el DNI en
cuestión jeje.
Dicho de un modo más gráfico, la supuesta tabla podemos verla como un vector de 23 elementos. De este modo:
T R W A G M Y F P D X B N J Z S Q V H L C K E
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Un ejemplo: Halla el NIF del DNI: 48537318
- ( 48537318 % 23 ) = 4
- Mirar en la tabla y extraer la letra correspondiente al número obtenido. 4 -> G
- Solucion: 48537318-G
Para ampliar la información podéis visitar el blog de Enrique, y también está el código en C++