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
A
travé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
A
de la fórmula (o básicamente agrega una guía 0
para que sea de longitud 9, lo que resulta en el mismo resultado que omitir A
).
A
de la fórmula dada?