22
ISBN-13からISBN-10への変換
前書き この課題では、ISBN-13コードが存在する場合、ISBN-13コードを指定して書籍のISBN-10コードを生成することがタスクです。このようなISBN-13コードは、以下で区切られたいくつかの部分で構成されてい-ます。 978-GG-PPPP-TTT-C 文字G(グループ)、P(発行者)、T(タイトル)、およびC(チェックサム)はすべて1桁を表します。このチャレンジの目的では、グループ化と計算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。そのため、新しいチェックサムは2ISBN-10コードになります0345391802。 ルール 入力には常に対応するISBN-10番号が付けられます(つまり、正確に13桁で始まり、で始まります978) 入力は、必ずしも有効なISBN-13である必要はありません(例:。 …