Giriş
Bu zorlukta göreviniz, böyle bir kodun var olduğunu varsayarak, ISBN-13 kodunu verilen kitaplar için ISBN-10 kodunu oluşturmaktır. Böyle bir ISBN-13 kodu, aşağıdakilerle ayrılmış birkaç bölümden oluşur -
:
978-GG-PPPP-TTT-C
G
(Grup), P
(yayıncı), T
(başlık) ve C
(sağlama toplamı) harflerinin tümü bir rakam için kullanılır. Bu zorluğun amacı için gruplandırma ve hesaplama C
( bu zorluğa bakınız ) ilginç değildir ve bu görevi daha basit hale getirmek için tüm kısa çizgileri bırakacağız.
Bir ISBN-10 numarasının çok benzer bir düzeni vardır:
GG-PPPP-TTT-c
Harfler G
, P
ve T
13 basamak için olanla aynıdır, ISBN, ancak c
farklı (ve farklı bir algoritma kullanılarak hesaplanır). Rakam c
, aşağıdaki denkliğin tutacağı bir şekilde seçilir (sırayla rakam):
10*G + 9*G + 8*P + … + 3*T + 2*T + 1*c = 0 (mod 11)
Örnek
ISBN numarasını dikkate alalım 9780345391803
: Karşılık gelen ISBN-10 kodunu almak 978
için satır 3
başını ve sağlama toplamı değerini düşürelim 034539180
.
Sonra yeni sağlama toplamını hesaplamamız gerekiyor:
10*0 + 9*3 + 8*4 + 7*5 + 6*3 + 5*9 + 4*1 + 3*8 + 2*0 = 185
Bir sonraki numara bölünebilir 11
olan 187
yeni bir sağlama toplamı, bu yüzden 2
bu şekilde elde edilen ISBN-10 kod ve 0345391802
.
kurallar
- Girişiniz her zaman karşılık gelen ISBN-10 numarasına sahip olacaktır (yani, tam olarak 13 rakam uzunluğunda olan ve ile başlayan
978
) - Giriş mutlaka geçerli bir ISBN-13 olmak zorunda değildir (örn.
9780000000002
) - Elde edilen ISBN’nin bitmeyeceğine dair garanti
X
- Girdiyi bir tamsayı veya dize olarak (tire ile veya tire olmadan) alabilirsiniz, ancak önceden hesaplanmış bir rakam listesine izin verilmez.
- Çıktınız geçerli bir ISBN-10 numarası olmalıdır (tire ile veya tire olmadan)
- Çıktınız bir tamsayı veya dize olabilir (yine basamak listesi yok)
testcases
9780000000002 -> 0000000000
9780201882957 -> 0201882957
9781420951301 -> 1420951300
9780452284234 -> 0452284236
9781292101767 -> 1292101768
9780345391803 -> 0345391802
Baştaki sıfırlara dikkat edin!
0-684-84328-5
ve99921-58-10-7
birinci parça (0
ve99921
sırasıyla) ikinci bölümü yayıncı olduğunu ve bu yüzden, kayıt grubudur.