Nandgame प्रशंसकों के लिए: कृपया तर्क गेट्स में डीपीडी को दशमलव पर आज़माएं !
पृष्ठभूमि
घने पैक दशमलव (DPD) द्विआधारी में दशमलव अंकों को कुशलता से संग्रहीत करने का एक तरीका है। यह 10 दशमलव में तीन दशमलव अंक (000 से 999) संग्रहीत करता है, जो भोली बीसीडी (जो 4 अंकों में एक अंक संग्रहीत करता है) की तुलना में बहुत अधिक कुशल है।
अंकन
- छोटे अक्षरों
a
कोi
बिट्स कि दशमलव प्रतिनिधित्व करने के लिए कॉपी कर रहे हैं कर रहे हैं। 0
और1
इनपुट या आउटपुट बिट पैटर्न में सटीक बिट्स हैं।x
रूपांतरण में बिट्स को अनदेखा किया जाता है।
रूपांतरण तालिका
डीपीडी के 10 बिट्स से तीन दशमलव अंकों तक रूपांतरण तालिका निम्नलिखित है। प्रत्येक दशमलव अंक को 4-बिट बाइनरी (बीसीडी) के रूप में दर्शाया गया है। दोनों पक्षों को सबसे महत्वपूर्ण अंक से दाएं बाएं लिखा जाता है।
Bits => Decimal (Digit range)
a b c d e f 0 g h i => 0abc 0def 0ghi (0-7) (0-7) (0-7)
a b c d e f 1 0 0 i => 0abc 0def 100i (0–7) (0–7) (8–9)
a b c g h f 1 0 1 i => 0abc 100f 0ghi (0–7) (8–9) (0–7)
g h c d e f 1 1 0 i => 100c 0def 0ghi (8–9) (0–7) (0–7)
g h c 0 0 f 1 1 1 i => 100c 100f 0ghi (8–9) (8–9) (0–7)
d e c 0 1 f 1 1 1 i => 100c 0def 100i (8–9) (0–7) (8–9)
a b c 1 0 f 1 1 1 i => 0abc 100f 100i (0–7) (8–9) (8–9)
x x c 1 1 f 1 1 1 i => 100c 100f 100i (8–9) (8–9) (8–9)
कार्य
DPD के 10 बिट्स को दशमलव के 3 अंको में बदलें।
परीक्षण के मामलों
DPD Decimal
0000000101 005
0001100011 063
0001111001 079
0000011010 090
0001011110 098
1010111010 592
0011001101 941
1100111111 879
1110001110 986
0011111111 999
1111111111 999 * Output is same regardless of the `x` bits
इनपुट
डिफ़ॉल्ट इनपुट प्रारूप 10 बिट्स की एक सूची है। बिट्स को ऊपर दिए गए सटीक क्रम, या इसके विपरीत का पालन करना चाहिए। आप इसके बजाय एक समतुल्य स्ट्रिंग या पूर्णांक प्रतिनिधित्व का उपयोग करना चुन सकते हैं। मेरी अन्य चुनौतियों के विपरीत, नेस्टेड संरचनाओं को पुन: व्यवस्थित या उपयोग करने की अनुमति नहीं है ।
इनपुट के लिए [1, 1, 0, 0, 0, 1, 0, 1, 0, 0]
, निम्न स्वरूपों की अनुमति है:
- बिट्स की सूची:
[1, 1, 0, 0, 0, 1, 0, 1, 0, 0]
- स्ट्रिंग:
"1100010100"
- बाइनरी पूर्णांक:
788
या0b1100010100
- दशमलव पूर्णांक:
1100010100
[0, 0, 1, 0, 1, 0, 0, 0, 1, 1]
उल्टा : और ऊपर किसी अन्य प्रारूप में उलट
निम्नलिखित स्वरूपों की अनुमति नहीं है:
- बिट्स का मनमाना पुनरावर्तन:
[0, 0, 0, 0, 0, 1, 1, 1, 0, 1]
- नेस्टेड संरचनाएँ:
[[1, 1, 0], [0, 0, 1], [0, 1, 0, 0]]
या[0b110, 0b001, 0b0100]
उत्पादन
डिफ़ॉल्ट आउटपुट स्वरूप 3 दशमलव अंकों की एक सूची है। प्रत्येक अंक को 0 से 9 के रूप में दर्शाया जाना चाहिए, या तो एक पूर्णांक या एक चरित्र। इनपुट के रूप में, आप स्ट्रिंग या पूर्णांक प्रतिनिधित्व चुन सकते हैं। यदि आप पूर्णांक प्रतिनिधित्व चुनते हैं, तो अग्रणी शून्य को छोड़ा जा सकता है।
स्कोरिंग और जीतने की कसौटी
मानक कोड-गोल्फ नियम लागू होते हैं। प्रत्येक भाषा के लिए बाइट्स में सबसे छोटा प्रोग्राम या फ़ंक्शन जीतता है।