इस संख्यात्मक वीडियो में वर्णित "बाइनरी, लेकिन ट्वोस के साथ" संकेतन के आधार पर , एक फ़ंक्शन लिखें जो एकल संख्या को इनपुट के रूप में लेता है और एक "बाइनरी" सिस्टम में उस संख्या के सभी रूपों को आउटपुट करता है जहां ट्वॉस की अनुमति है।
नियम
- कोड केवल एक फ़ंक्शन / विधि होना चाहिए, न कि एक पूर्ण कार्यक्रम
- इनपुट एक पूर्णांक है जो फ़ंक्शन के एकमात्र पैरामीटर के रूप में पारित होता है
- आउटपुट "बाइनरी, लेकिन ट्वोस" संकेतन के साथ परिवर्तित इनपुट संख्या के सभी वैध रूपांतर हैं
- आउटपुट फ़ंक्शन का रिटर्न वैल्यू है, लेकिन जब तक यह स्पष्ट है, तब तक जो भी प्रारूप सुविधाजनक है, उसमें हो सकता है (जैसे, 3 इनट्स, 3 स्ट्रिंग्स, कॉमा / स्पेस सीमांकित स्ट्रिंग, इन्ट्स की सरणी आदि), आदेश महत्वहीन है
- इस घटना की संभावना नहीं है कि एक भाषा में परिणाम प्राप्त करने के लिए एक अंतर्निहित फ़ंक्शन होता है, यह अस्वीकृत है
- बाइट्स में सबसे छोटा कोड विजेता होता है
आउटपुट का स्पष्टीकरण
उदाहरण के लिए, यदि आप संख्या पार कर चुके हैं, तो आप 9
इसे बाइनरी में बदल सकते हैं 1001
, लेकिन यदि आपने 2
प्रत्येक स्थिति में एस की अनुमति दी है , तो आप इसे 201
(यानी 2*4 + 0*2 + 1*1
), या 121
(यानी 1*4 + 2*2 + 1*1
) के रूप में भी लिख सकते हैं , जैसा कि इस तालिका में दिखाया गया है:
+----+----+----+----+
| 8s | 4s | 2s | 1s |
+----+----+----+----+
| 1 | 0 | 0 | 1 |
| 0 | 2 | 0 | 1 |
| 0 | 1 | 2 | 1 |
+----+----+----+----+
इसलिए, यदि पास हो गया 9
, तो आपके फ़ंक्शन को तीन नंबर और 1001
, 201
और वापस करने की आवश्यकता होगी 121
।
स्वरूप और व्यवस्था जब तक यह स्पष्ट है के रूप में (यानी अप्रासंगिक है, तो [121,201,1001]
, "0201 0121 1001"
, ("1001","121","201")
वैध परिणाम हैं जब की एक इनपुट दिया 9
)।
उदाहरण
2
=>10, 2
9
=>1001, 201, 121
10
=>1010, 210, 202, 1002, 122
23
=>2111, 10111
37
=>100101, 20101, 100021, 20021, 12101, 12021, 11221