Wprowadzenie:
Holenderski BSN (BurgerServiceNummer) jest ważny, jeżeli jest zgodny z następującymi zasadami:
- Zawiera tylko cyfry.
- Długość powinna wynosić 8 lub 9.
- Kiedy cyfry są indeksowane jako
A
throughI
, wynik należy do sumy:9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI
(! UWAGA -1 zamiast 1) powinna być podzielna przez 11, a nie powinno być 0.
Wyzwanie:
Dane wejściowe: ciąg znaków lub tablica znaków reprezentująca BSN.
Wyjście: truthy lub falsey wynik czy wejście jest poprawnym BSN.
Zasady konkursu:
- Format wejściowy powinien być ciągiem znaków lub tablicą znaków. Nie wolno używać wewnętrznej tablicy cyfr lub liczby (być może ósemkowej). (Możesz jednak przekonwertować go na wewnętrzną tablicę cyfr, ale nie bezpośrednio jako argument).
- Pomimo powyższego ograniczenia można założyć, że wszystkie przypadki testowe będą zawierać jedną lub więcej cyfr (
[0-9]+
) - W odniesieniu do BSN o długości 8 zamiast 9 holenderska Wikipedia stwierdza, co następuje: „ W przypadku testu jedenastego i innych praktycznych zastosowań dodaje się zero wiodące, aby uzyskać liczbę o długości 9. ” ( źródło )
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Odpowiedzi dotyczą standardowe zasady , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- W razie potrzeby dodaj również wyjaśnienie.
Przypadki testowe:
// Truthy test cases:
111222333
123456782
232262536
010464554
10464554
44016773
// Falsey test cases:
000000000
192837465
247594057
88888888
73
3112223342
000000012
A
ona formułę (lub w zasadzie dodaje wiodącą 0
długość 9, co daje taki sam wynik jak pominięcie A
).
A
się podany wzór?