EAN-8 kodów kreskowych zawiera 7 cyfr informacji i 8 cyfra kontrolna.
Suma kontrolna jest obliczana przez pomnożenie cyfr przez 3 i 1 na przemian, dodanie wyników i odjęcie od następnej wielokrotności 10.
Na przykład, biorąc pod uwagę cyfry 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
Suma tych wynikowych cyfr wynosi 55 , więc cyfra sumy kontrolnej wynosi 60–55 = 5
Wyzwanie
Twoim zadaniem jest, biorąc pod uwagę 8-cyfrowy kod kreskowy, sprawdzenie, czy jest poprawny - zwrócenie prawdziwej wartości, jeśli suma kontrolna jest ważna, i fałszowanie w przeciwnym razie.
- Możesz przyjmować dane wejściowe w dowolnej z następujących form:
- Łańcuch o długości 8 znaków reprezentujący cyfry kodu kreskowego
- Lista 8 liczb całkowitych, cyfr kodu kreskowego
- Nieujemna liczba całkowita (możesz albo założyć zera na początku, gdzie nie podano żadnego, tj.
1
=00000001
, Albo zażądać wprowadzenia z podanymi zerami)
- Wbudowane, które obliczają sumę kontrolną EAN-8 (tj. Pobierają pierwsze 7 cyfr i obliczają ostatnie) są zakazane.
- To jest golf golfowy , więc wygrywa najkrótszy program (w bajtach)!
Przypadki testowe
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False