ISBN検証

ISBN検証

初級

説明

ISBN-10の検証手順は、書籍の識別番号を検証するために使われます。 これらの番号には通常ハイフンが含まれ、3-598-21508-8のような形をしています。

ISBN

ISBN-10の形式は、9桁の数字(0から9)と1つのチェック文字(数字か、Xのみ)で構成されます。 チェック文字がXの場合、これは値の「10」を表します。 これらの番号はハイフン付きでもハイフンなしでも表すことができ、次の式で有効かどうかを確認できます。

(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0

結果が0なら、それは有効なISBN-10です。そうでなければ無効です。

例

ISBN-10の3-598-21508-8を例にしてみましょう。 これを式に当てはめると、次のようになります。

(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0

結果は0なので、このISBNが有効であることが確かめられます。

課題

文字列が与えられたとき、プログラムはその文字列が有効なISBN-10かどうかを確認します。 これを実装するには、ISBNのチェック数字を計算する前に、文字列の前処理や解析について少し考える必要があります。

プログラムは、区切りのハイフンがある場合もない場合も、ISBN-10を検証できるようにします。

注意点

言語によっては、文字列から数値への変換が難しいことがあります。 さらに、ISBN-10のチェック数字は「X」(「10」を表す)のこともあるため、なおさら厄介です。 たとえば、3-598-21507-Xは有効なISBN-10です。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Odin Exercism

ISBN検証を始める準備はできましたか?

Exercismに登録すれば、73個の演習、そして本物の人間によるメンタリングとともに、Odinを学んでマスターできます。すべて無料です。