একটি 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 is
চ্যালেঞ্জ
আপনার কাজটি একটি 8 ডিজিটের বারকোড দেওয়া, এটি কার্যকর কিনা তা যাচাই করা - চেকসামটি বৈধ কিনা সত্যবাদী মানটি ফিরিয়ে দেওয়া, এবং অন্যথায় মিথ্যা বলে।
- আপনি নিম্নলিখিত ফর্মগুলির কোনওটিতে ইনপুট নিতে পারেন:
- একটি স্ট্রিং, দৈর্ঘ্যে 8 টি অক্ষর, বারকোড অঙ্কগুলি উপস্থাপন করে
- 8 টি পূর্ণসংখ্যার একটি তালিকা, বারকোডের অঙ্কগুলি
- একটি অ-নেতিবাচক পূর্ণসংখ্যা (আপনি হয় নেতৃস্থানীয় শূন্যগুলি ধরে নিতে পারেন যেখানে কোনওটি দেওয়া হয়নি, যেমন
1
=00000001
, বা প্রদত্ত শূন্যগুলির সাথে ইনপুট অনুরোধ করতে পারেন)
- যে বিল্টিনগুলি EAN-8 চেকসাম গণনা করে (অর্থাত প্রথম প্রথম 7 টি সংখ্যা নেয় এবং শেষ গণনা করে) নিষিদ্ধ।
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম প্রোগ্রামটি (বাইটে) জিতেছে!
পরীক্ষার মামলা
20378240 -> True
33765129 -> True
77234575 -> True
00000000 -> True
21034984 -> False
69165430 -> False
11965421 -> False
12345678 -> False