एक नॉर्वेजियन बर्थ नंबर में 11 अंक होते हैं, जो इस प्रकार है:
DDMMYYiiikk
DD
दिन है (01-31 से)MM
महीना है (01-12 से)YY
वर्ष है (00-99 से)। यह 1900 और 2000 के बीच विभेदित नहीं हैiii
"व्यक्तिगत संख्या" हैkk
दो नियंत्रण अंक हैं
iii
निम्नलिखित तरीके से जन्म और लिंग के आधार पर निर्धारित किया जाता है
- 0000-1900: अवहेलना, कुछ असंगति और विशेष मामले हैं
- 1900-1999: रेंज = 000-499
- 2000-2039: रेंज = 500-999
- महिला: सम संख्याएँ (और 000)
- पुरुष: विषम संख्या
नियंत्रण संख्या निम्नलिखित तरीके से निर्धारित की जाती है:
11 अंकों को कॉल करते हैं:
d1 d2 m1 m2 y1 y2 i1 i2 i3 k1 k2
तब नियंत्रण अंकों की गणना समीकरणों का उपयोग करके की जा सकती है:
k1 = 11 - ((3 * d1 + 7 * d2 + 6 * m1 + 1 * m2 + 8 * y1 + 9 * y2 + 4 * i1 + 5 * i2 + 2 * i3) mod 11)
k2 = 11 - ((5 * d1 + 4 * d2 + 3 * m1 + 2 * m2 + 7 * y1 + 6 * y2 + 5 * i1 + 4 * i2 + 3 * i3 + 2 * k1) mod 11).
कुछ संयोजनों के लिए, नियंत्रण नंबर k1
या k2
बन सकते हैं 10
। यदि ऐसा है, तो संख्या अमान्य हो जाएगी।
यदि योग मापांक 11 के लिए 11 है k1
या k2
11 है k1 = 11 - (11 mod 11)
, तो नियंत्रण अंक 0 होगा, 11 नहीं।
चुनौती
एक पत्र, M
या F
(पुरुष या महिला), और इनपुट के रूप में एक ग्यारह अंकों की संख्या लें, और जांचें कि क्या जन्म संख्या ऊपर के नियमों के अनुसार वैध है।
- इनपुट प्रारूप और आदेश वैकल्पिक है
- 11 नंबर एक एकल संख्या या लगातार स्ट्रिंग होना चाहिए (आप इनपुट को इस रूप में नहीं ले सकते
DD, MM, YY, iii, kk
)। - आप मान सकते हैं कि तारीख वैध है (310699xxxxx इनपुट के रूप में नहीं दी जाएगी)
- आउटपुट एक सत्य / मिथ्या मूल्य (1/0, सत्य / असत्य आदि) है
- कार्यक्रम या समारोह
- सभी मानक नियम लागू होते हैं
आप तिथि चुनकर इस पृष्ठ पर (नार्वे में) सभी मान्य नंबर पा सकते हैं ।
उदाहरण:
M, 01010099931
True
F, 01029042620
True
M, 0101009841
False
F, 01010051866
True
F, 08021690849
True
M, 01029040105
True
M, 01029037473
False
बाइट्स में सबसे छोटा कोड जीत जाता है।
["Q", "01010099931"]
रिटर्नtrue
?)