Duda con módulo y array calculando la letra del DNI

Iniciado por Linton, 3 Junio 2013, 10:16 AM

0 Miembros y 1 Visitante están viendo este tema.

Linton

No entiendo cómo funciona el programa para calcular la letra del DNI  :huh: El número que introduce el usuario se divide por 23 y se obtiene el módulo. Hasta aquí todo claro.

El problema viene porque el array dado tiene 24 elementos: ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T']

Así que nunca podrían salir las dos últimas letras, E y T: para ello el módulo (resto) debería ser igual o mayor que el divisor, cosa matemáticamente absurda. Si el resto fuera igual o mayor a 23, aumentaría el cociente en una unidad, quedando resto 0 ó 1.

¿Dónde está el fallo? Gracias, un saludo.