Un código de barras EAN-8 incluye 7 dígitos de información y un octavo dígito de suma de verificación.
La suma de verificación se calcula multiplicando los dígitos por 3 y 1 alternativamente, sumando los resultados y restando del siguiente múltiplo de 10.
Por ejemplo, dados los dígitos 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
La suma de estos dígitos resultantes es 55 , por lo que el dígito de suma de comprobación es 60 - 55 = 5
El reto
Su tarea es, dado un código de barras de 8 dígitos, verificar si es válida, devolviendo un valor verdadero si la suma de verificación es válida y falsa de lo contrario.
- Puede tomar información en cualquiera de las siguientes formas:
- Una cadena, de 8 caracteres de longitud, que representa los dígitos del código de barras
- Una lista de 8 enteros, los dígitos del código de barras
- Un entero no negativo (puede suponer ceros iniciales donde no se proporciona ninguno, es decir ,
1
=00000001
o solicitar una entrada con los ceros dados)
- Las unidades integradas que calculan la suma de verificación EAN-8 (es decir, toman los primeros 7 dígitos y calculan el último) están prohibidas.
- Este es el código de golf , por lo que gana el programa más corto (en bytes).
Casos de prueba
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False