与えられた数値が、ルーンの公式に従って有効かどうかを判定します。
ルーンアルゴリズムは、クレジットカード番号やカナダの社会保険番号など、さまざまな識別番号を検証するために使われるシンプルなチェックサムの公式です。
この演習の目的は、与えられた文字列が有効かどうかを判定することです。
長さが1以下の文字列は無効です。 入力に空白が含まれていてもかまいませんが、検証の前に取り除く必要があります。 それ以外の数字以外の文字は許可されていません。
4539 3195 0343 6467
ルーンアルゴリズムの最初のステップは、右から数えて1つおきの数字を2倍にすることです。 2倍にするのは、次の数字です。
4_3_ 3_9_ 0_4_ 6_6_
2倍した結果が9より大きくなった場合は、その積から9を引きます。 2倍にした結果は次のとおりです。
8569 6195 0383 3437
次に、すべての数字を合計します。
8+5+6+9+6+1+9+5+0+3+8+3+3+4+3+7 = 80
合計が10で割り切れる場合、その数値は有効です。 この数値は有効です!
8273 1232 7352 0569
右から数えて1つおきの数字を2倍にします。
7253 2262 5312 0539
数字を合計します。
7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57
57は10で割り切れないので、この数値は無効です。