ट्रैक
/
Common Lisp
Common Lisp
/
अभ्यास
/
ISBN सत्यापनकर्ता
ISBN सत्यापनकर्ता

ISBN सत्यापनकर्ता

मध्यम

निर्देश

पुस्तक पहचान संख्याओं को मान्य करने के लिए ISBN-10 सत्यापन प्रक्रिया का उपयोग किया जाता है। इन संख्याओं में आम तौर पर डैश होते हैं और ये कुछ इस तरह दिखती हैं: 3-598-21508-8

ISBN

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 है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Common Lisp Exercism

ISBN सत्यापनकर्ता शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Common Lisp को 27 कॉन्सेप्ट92 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।