বইয়ের শনাক্তকরণ নম্বর যাচাই করতে ISBN-10 যাচাইকরণ প্রক্রিয়া ব্যবহার করা হয়।
এগুলোতে সাধারণত হাইফেন থাকে এবং দেখতে এমন হয়: 3-598-21508-8
ISBN-10 ফরম্যাটে থাকে ৯টি ডিজিট (০ থেকে ৯) এবং একটি চেক ক্যারেক্টার (শুধু একটি ডিজিট অথবা একটি X)। চেক ক্যারেক্টারটি X হলে এটি '১০' মানটি নির্দেশ করে। এগুলো হাইফেন দিয়ে বা হাইফেন ছাড়াই লেখা যেতে পারে, এবং নিচের সূত্র দিয়ে এগুলোর বৈধতা যাচাই করা যায়:
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0
ফলাফল ০ হলে এটি একটি বৈধ ISBN-10, অন্যথায় এটি অবৈধ।
ধরা যাক ISBN-10 হলো 3-598-21508-8।
এটি সূত্রে বসালে আমরা পাই:
(3 * 10 + 5 * 9 + 9 * 8 + 8 * 7 + 2 * 6 + 1 * 5 + 5 * 4 + 0 * 3 + 8 * 2 + 8 * 1) mod 11 == 0
ফলাফল ০ হওয়ায় এটি প্রমাণ করে যে আমাদের ISBN বৈধ।
একটি স্ট্রিং দেওয়া হলে প্রোগ্রামটির উচিত যাচাই করা যে দেওয়া স্ট্রিংটি একটি বৈধ ISBN-10 কি না। এটি বাস্তবায়ন করতে হলে ISBN-এর চেক ডিজিট হিসাব করার আগে স্ট্রিংটির প্রিপ্রসেসিং/পার্সিং নিয়ে কিছুটা ভাবতে হবে।
প্রোগ্রামটির উচিত বিভাজক হাইফেন থাকা এবং না থাকা, দুই ক্ষেত্রেই ISBN-10 যাচাই করতে পারা।
কিছু কিছু ভাষায় স্ট্রিং থেকে সংখ্যায় রূপান্তর করা জটিল হতে পারে।
আর এখন তা আরও জটিল, কারণ একটি ISBN-10-এর চেক ডিজিট 'X' হতে পারে (যা '১০' বোঝায়)।
উদাহরণস্বরূপ, 3-598-21507-X একটি বৈধ ISBN-10।
Exercism-এ সাইন আপ করুন, ABAP ট্র্যাকের 54টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।