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 цифр и вычисляют последние), запрещены.
- Это код-гольф , поэтому выигрывает самая короткая (в байтах) программа!
Тестовые случаи
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False