Introducción:
Un BSN holandés (BurgerServiceNummer) es válido cuando cumple con las siguientes reglas:
- Solo contiene dígitos.
- La longitud debe ser de 8 o 9 de longitud.
- Cuando los dígitos se indexan como a
AtravésI, el resultado de la siguiente suma:9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI(¡NOTA el -1 en lugar de 1!) Debe ser divisible por 11, y no debe ser 0.
Reto:
Entrada: una cadena o matriz de caracteres que representa el BSN.
Salida: Un resultado verdadero o falso si la entrada es un BSN válido.
Reglas de desafío:
- El formato de entrada debe ser una cadena o una matriz de caracteres. No está permitido utilizar una matriz de dígitos int o un número (posiblemente octal). (Sin embargo, usted mismo puede convertirlo en una matriz de dígitos int, pero no directamente como argumento).
- A pesar de la restricción en la entrada anterior, puede asumir que todos los casos de prueba contendrán uno o más dígitos (
[0-9]+) - Con respecto al BSN con longitud 8 en lugar de 9, la Wikipedia holandesa establece lo siguiente: " Para las once pruebas y para otros usos prácticos, se agrega un cero inicial para hacer el número de longitud 9. " ( fuente )
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de code-golf lo desanimen a publicar respuestas con lenguajes que no sean codegolf. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados, programas completos. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
// Truthy test cases:
111222333
123456782
232262536
010464554
10464554
44016773
// Falsey test cases:
000000000
192837465
247594057
88888888
73
3112223342
000000012
Ade la fórmula (o básicamente agrega una guía 0para que sea de longitud 9, lo que resulta en el mismo resultado que omitir A).
Ade la fórmula dada?