소개
이 과제에서는 해당 코드가 존재한다고 가정하여 ISBN-13 코드가 지정된 도서의 ISBN-10 코드를 생성해야합니다. 이러한 ISBN-13 코드는 다음과 같이 구분 된 여러 부분으로 구성됩니다 -
.
978-GG-PPPP-TTT-C
문자 G
(그룹), P
(게시자), T
(제목) 및 C
(체크섬)은 모두 한 자리를 나타냅니다. 이 과제의 목적을 위해 그룹화와 계산 C
( 이 과제 참조 )은 흥미롭지 않으며이 작업을 단순화하기 위해 모든 하이픈을 삭제합니다.
ISBN-10 숫자는 레이아웃이 매우 유사합니다.
GG-PPPP-TTT-c
글자 G
, P
및 T
13 자릿수의 경우와 동일하다 ISBN 그러나 c
상이한 (및 다른 알고리즘을 이용하여 계산된다). 숫자 c
는 다음과 같은 동등성을 유지하는 방식으로 선택됩니다 (숫자 순서).
10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11)
예
우리가 ISBN 번호를 생각해 보자 9780345391803
: 그 해당 ISBN-10 코드는 우리가 단순히 선도 드롭 얻으려면 978
및 체크섬이 3
항복 034539180
.
다음으로 새로운 체크섬을 계산해야합니다.
10*0 + 9*3 + 8*4 + 7*5 + 6*3 + 5*9 + 4*1 + 3*8 + 2*0 = 185
다음으로 나눌 수있는 숫자 11
는입니다 187
. 따라서 새로운 체크섬은 2
결과 ISBN-10 코드 0345391802
입니다.
규칙
- 입력 한 내용은 항상 해당 ISBN-10 번호를 갖습니다 (예 : 정확히 13 자리 숫자이며로 시작 함
978
) - 입력은 반드시 유효한 ISBN 13 일 필요는 없다 (예.
9780000000002
) - 결과 ISBN이 끝나지 않는다는 보장
X
- 하이픈이 있거나없는 정수 또는 문자열로 입력 할 수 있지만 사전 계산 된 숫자 목록은 허용되지 않습니다.
- 출력은 유효한 ISBN-10 숫자 여야합니다 (하이픈 포함 또는 제외).
- 출력은 정수 또는 문자열 일 수 있습니다 (숫자 목록 없음)
테스트 케이스
9780000000002 -> 0000000000
9780201882957 -> 0201882957
9781420951301 -> 1420951300
9780452284234 -> 0452284236
9781292101767 -> 1292101768
9780345391803 -> 0345391802
선행 0을 참고하십시오!
0-684-84328-5
와99921-58-10-7
, 첫 번째 부분 (0
및99921
각각) 번째 부분은 발행자, 등, 등록 그룹이다.