Bir EAN-8 barkodu, 7 basamaklı bilgi ve 8. kontrol toplamı içerir.
Sağlama toplamı, basamakları sırayla 3 ve 1 ile çarparak, sonuçları ekleyerek ve 10'un bir sonraki katından çıkartarak hesaplanır.
Örneğin, rakamları verilen 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
Bu elde edilen basamak toplamı 55 sağlama basamaklı yani, 55 = 5-60
Meydan okuma
Göreviniz, 8 basamaklı bir barkod verildiğinde, geçerli olup olmadığını doğrulamaktır - sağlama toplamı geçerliyse bir gerçeğe uygun değer döndürmek ve aksi takdirde sahte olur.
- Aşağıdaki formlardan birinde girdi alabilirsiniz:
- Barkod hanelerini temsil eden, 8 karakter uzunluğunda bir dize
- 8 tamsayının bir listesi, barkodun rakamları
- Negatif olmayan bir tam sayı (hiç kimsenin verilmediği baştaki sıfırları varsayabilirsin, yani
1
=00000001
veya verilen sıfırlarla giriş talep edebilirsiniz)
- EAN-8 sağlama toplamını hesaplayan (yani, ilk 7 basamağı ve sonunu hesaplayanlar) yasaklanmıştır.
- Bu kod golf , yani en kısa program (bayt cinsinden) kazanır!
Test Kılıfları
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False