บทนำ
ในการท้าทายนี้งานของคุณคือการสร้างรหัส ISBN-10 สำหรับหนังสือที่ระบุรหัส ISBN-13 โดยสมมติว่ามีรหัสดังกล่าวอยู่ รหัส 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ที่ถูกเลือกในลักษณะดังกล่าวที่เท่าเทียมกันต่อไปนี้ถือ (ตัวเลขในการสั่งซื้อ) A:
10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11)
ตัวอย่าง
ขอให้เราพิจารณาจำนวนไอ9780345391803: เพื่อให้ได้สอดคล้อง ISBN-10 รหัสของเราก็วางชั้นนำ978และการตรวจสอบผลผลิต3034539180
ต่อไปเราต้องคำนวณการตรวจสอบใหม่:
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 ที่ถูกต้อง (มีหรือไม่มีเครื่องหมายขีดคั่น)
- ผลลัพธ์ของคุณอาจเป็นจำนวนเต็มหรือสตริง (ไม่มีรายการของตัวเลข)
Testcases
9780000000002 -> 0000000000
9780201882957 -> 0201882957
9781420951301 -> 1420951300
9780452284234 -> 0452284236
9781292101767 -> 1292101768
9780345391803 -> 0345391802
หมายเหตุเลขศูนย์นำหน้า!


0-684-84328-5และ99921-58-10-7ส่วนแรก (0และ99921ตามลำดับ) คือกลุ่มการลงทะเบียนส่วนที่สองเป็นผู้จัดทำและอื่น ๆ