Giới thiệu:
Một BSN của Hà Lan (BurgerServiceNummer) là hợp lệ khi nó tuân thủ các quy tắc sau:
- Nó chỉ chứa các chữ số.
- Chiều dài phải là 8 hoặc 9 chiều dài.
- Khi các chữ số được lập chỉ mục là
A
thông quaI
, kết quả của tổng sau:9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI
(LƯU Ý -1 thay vì 1!) Sẽ chia hết cho 11 và không được bằng 0.
Thử thách:
Dữ liệu vào: Một chuỗi hoặc mảng char đại diện cho BSN.
Output: Một truthy hoặc falsey kết quả cho dù đầu vào là một BSN hợp lệ.
Quy tắc thử thách:
- Định dạng đầu vào phải là một chuỗi hoặc mảng char. Bạn không được phép sử dụng một mảng các chữ số hoặc một số (có thể là số bát phân). (Tuy nhiên, bạn được phép tự chuyển đổi nó thành một mảng các chữ số, nhưng không trực tiếp làm đối số.)
- Mặc dù hạn chế về đầu vào ở trên, bạn có thể giả sử tất cả các trường hợp kiểm tra sẽ chứa một hoặc nhiều chữ số (
[0-9]+
) - Về BSN với độ dài 8 thay vì 9, Wikipedia tiếng Hà Lan nêu rõ như sau: " Đối với bài kiểm tra mười một và cho các mục đích sử dụng thực tế khác, một số 0 đứng đầu được thêm vào để tạo ra số độ dài 9. " ( nguồn )
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
// Truthy test cases:
111222333
123456782
232262536
010464554
10464554
44016773
// Falsey test cases:
000000000
192837465
247594057
88888888
73
3112223342
000000012
A
công thức (hoặc về cơ bản thêm một đầu dẫn 0
để làm cho nó dài 9, dẫn đến kết quả tương tự như bỏ qua A
).
A
từ công thức đã cho?