的EAN-8条码包括的信息和第八校验和数字7位数字。
通过将数字分别乘以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位条形码,您的任务是验证它是否有效-如果校验和有效,则返回真实值,否则返回false。
- 您可以采用以下任何形式的输入:
- 长度为8个字符的字符串,代表条形码数字
- 8个整数的列表,条形码的数字
- 一个非负整数(您可以假设前导零而不给出任何前导零,即
1
=00000001
,或请求输入中给出零)
- 禁止计算EAN-8校验和的内置函数(即,使用前7位数字并计算最后7位数字)。
- 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜!
测试用例
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False