पुस्तक पहचान संख्याओं को मान्य करने के लिए ISBN-10 सत्यापन प्रक्रिया का उपयोग किया जाता है।
इन संख्याओं में आम तौर पर डैश होते हैं और ये कुछ इस तरह दिखती हैं: 3-598-21508-8
ISBN-10 का प्रारूप 9 अंकों (0 से 9) और एक जाँच अक्षर से बनता है (जाँच अक्षर या तो कोई अंक होता है या सिर्फ X)। अगर जाँच अक्षर X हो, तो वह वैल्यू '10' को दर्शाता है। इन्हें हाइफन के साथ या हाइफन के बिना भी लिखा जा सकता है, और इनकी वैधता नीचे दिए सूत्र से जाँची जा सकती है:
(d₁ * 10 + d₂ * 9 + d₃ * 8 + d₄ * 7 + d₅ * 6 + d₆ * 5 + d₇ * 4 + d₈ * 3 + d₉ * 2 + d₁₀ * 1) mod 11 == 0
अगर परिणाम 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
चूँकि परिणाम 0 है, यह सिद्ध करता है कि हमारा ISBN मान्य है।
एक स्ट्रिंग दी जाती है, और प्रोग्राम को जाँचना है कि दी गई स्ट्रिंग मान्य ISBN-10 है या नहीं। इसे लागू करने के लिए ISBN का जाँच अंक निकालने से पहले स्ट्रिंग की प्रीप्रोसेसिंग और पार्सिंग के बारे में थोड़ा सोचना पड़ता है।
प्रोग्राम को अलग करने वाले डैश के साथ और बिना डैश, दोनों तरह के ISBN-10 की जाँच करनी आनी चाहिए।
कुछ भाषाओं में स्ट्रिंग को संख्या में बदलना मुश्किल हो सकता है।
अब यह और भी मुश्किल हो जाता है, क्योंकि ISBN-10 का जाँच अंक 'X' भी हो सकता है (जो '10' को दर्शाता है)।
उदाहरण के लिए 3-598-21507-X एक मान्य ISBN-10 है।
Exercism पर साइन अप कीजिए और F# को 18 कॉन्सेप्ट148 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।