Giới thiệu
Trong thử thách này, nhiệm vụ của bạn là tạo mã ISBN-10 cho các cuốn sách được cung cấp mã ISBN-13, giả sử rằng mã đó tồn tại. Mã ISBN-13 như vậy bao gồm một số phần được phân tách bằng -
:
978-GG-PPPP-TTT-C
Các chữ cái G
(nhóm), P
(nhà xuất bản), T
(tiêu đề) và C
(tổng kiểm tra) đều có nghĩa là một chữ số. Với mục đích của thử thách này, việc nhóm và tính toán C
(xem thử thách này ) không thú vị và chúng tôi sẽ bỏ tất cả các dấu gạch nối để làm cho nhiệm vụ này đơn giản hơn.
Một số ISBN-10 có bố cục rất giống nhau:
GG-PPPP-TTT-c
Tuy nhiên G
, các chữ cái P
và T
giống như đối với 13 chữ số ISBN, tuy nhiên lại c
khác nhau (và được tính bằng thuật toán khác). Chữ số c
được chọn theo cách giữ tương đương sau (chữ số theo thứ tự):
10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11)
Thí dụ
Chúng ta hãy xem xét số ISBN 9780345391803
: Để có được mã ISBN-10 tương ứng, chúng ta chỉ cần bỏ phần đầu 978
và tổng kiểm tra 3
năng suất 034539180
.
Tiếp theo chúng ta cần tính toán tổng kiểm tra mới:
10*0 + 9*3 + 8*4 + 7*5 + 6*3 + 5*9 + 4*1 + 3*8 + 2*0 = 185
Số tiếp theo chia hết cho 11
là 187
, do đó, tổng kiểm tra mới 2
và do đó là mã ISBN-10 0345391802
.
Quy tắc
- Đầu vào của bạn sẽ luôn có một số ISBN-10 tương ứng (nghĩa là nó dài chính xác 13 chữ số và bắt đầu bằng
978
) - Đầu vào không nhất thiết phải là một số hợp lệ-13 (ví dụ
9780000000002
:) - Bạn được đảm bảo rằng kết quả ISBN sẽ không kết thúc bằng
X
- Bạn có thể lấy đầu vào dưới dạng số nguyên hoặc chuỗi (có hoặc không có dấu gạch ngang) tuy nhiên không được phép liệt kê danh sách các chữ số được tính toán trước
- Đầu ra của bạn phải là số ISBN-10 hợp lệ (có hoặc không có dấu gạch ngang)
- Đầu ra của bạn có thể là một số nguyên hoặc chuỗi (một lần nữa không có danh sách các chữ số)
Tủ thử
9780000000002 -> 0000000000
9780201882957 -> 0201882957
9781420951301 -> 1420951300
9780452284234 -> 0452284236
9781292101767 -> 1292101768
9780345391803 -> 0345391802
Lưu ý các số 0 hàng đầu!
0-684-84328-5
và99921-58-10-7
, phần đầu tiên (0
và99921
tương ứng) là nhóm đăng ký, phần thứ hai là nhà xuất bản, v.v.