Ein EAN-8- Barcode enthält 7 Informationsstellen und eine 8. Prüfsummenstelle.
Die Prüfsumme wird berechnet, indem die Ziffern abwechselnd mit 3 und 1 multipliziert, die Ergebnisse addiert und vom nächsten Vielfachen von 10 subtrahiert werden.
Zum Beispiel mit folgenden Ziffern 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
Die Summe dieser resultierenden Ziffern ist 55 , die Prüfsummenziffer ist also 60 - 55 = 5
Die Herausforderung
Ihre Aufgabe ist es, anhand eines 8-stelligen Barcodes zu überprüfen, ob er gültig ist - einen wahren Wert zurückzugeben, wenn die Prüfsumme gültig ist, und andernfalls zu verfälschen.
- Sie können Eingaben in einer der folgenden Formen vornehmen:
- Eine Zeichenfolge mit einer Länge von 8 Zeichen, die die Barcode-Ziffern darstellt
- Eine Liste mit 8 Ganzzahlen, den Ziffern des Barcodes
- Eine nicht negative Ganzzahl (Sie können entweder führende Nullen annehmen, bei denen keine angegeben sind, dh
1
=00000001
, oder eine Eingabe mit den angegebenen Nullen anfordern)
- Builtins, die die EAN-8-Prüfsumme berechnen (dh die ersten 7 Stellen nehmen und die letzte berechnen), sind gesperrt.
- Das ist Code-Golf , also gewinnt das kürzeste Programm (in Bytes)!
Testfälle
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False