EAN-8バーコードは7情報の桁と8チェックサム・デジットを有しています。
チェックサムは、数字に3と1を交互に掛け、結果を加算し、次の10の倍数から減算することで計算されます。
たとえば、数字が与えられた場合2103498
:
Digit: 2 1 0 3 4 9 8
Multiplier: 3 1 3 1 3 1 3
Result: 6 1 0 3 12 9 24
これらの結果の数字の合計は55なので、チェックサムの数字は60-55 = 5です。
チャレンジ
あなたの仕事は、8桁のバーコードが与えられたら、それが有効かどうかを確認することです。チェックサムが有効であれば真理値を返し、そうでなければ偽りを返します。
- 次のいずれかの形式で入力できます。
- バーコードの数字を表す8文字の文字列
- 8つの整数のリスト、バーコードの桁
- 非負の整数(
1
= が指定されていない場合、先行ゼロを想定するか00000001
、ゼロが指定された入力を要求できます)
- EAN-8チェックサムを計算する(つまり、最初の7桁を取得して最後の桁を計算する)ビルトインは禁止されています。
- これはcode-golfなので、最短のプログラム(バイト単位)が勝ちです!
テストケース
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False