Введение:
Голландский BSN (BurgerServiceNummer) действителен, если он соответствует следующим правилам:
- Он содержит только цифры.
- Длина должна быть 8 или 9 в длину.
- Когда цифры индексируются как
A
сквозныеI
, результат следующей суммы:9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI
(ЗАМЕТЬТЕ -1 вместо 1!) Должен делиться на 11 и не должен быть 0.
Вызов:
Вход: строка или массив символов, представляющий BSN.
Выход: truthy или falsey результат вход является ли действительным BSN.
Правила соревнований:
- Формат ввода должен быть строкой или массивом символов. Вы не можете использовать int-массив цифр или (возможно, восьмеричное) число. (Вы можете преобразовать его в массив цифр int самостоятельно, но не в качестве аргумента.)
- Несмотря на ограничение на вводимые выше данные, можно предположить, что все тестовые случаи будут содержать одну или несколько цифр (
[0-9]+
) - Что касается BSN с длиной 8 вместо 9, голландская Википедия заявляет следующее: « Для теста с одиннадцатью и для других практических целей добавляется начальный ноль, чтобы сделать число длиной 9 ». ( Источник )
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с правильными параметрами, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены.
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
Тестовые случаи:
// Truthy test cases:
111222333
123456782
232262536
010464554
10464554
44016773
// Falsey test cases:
000000000
192837465
247594057
88888888
73
3112223342
000000012
A
из формулы (или, по сути, добавляет ведущий, 0
чтобы сделать его длиной 9, что приводит к тому же результату, что и пропуск A
).
A
из приведенной формулы?