भाज्य संख्या प्रणाली , भी factoradic कहा जाता है, एक मिश्रित मूलांक अंक प्रणाली है। भाज्य एक संख्या के स्थान मूल्य को निर्धारित करते हैं।
इस प्रणाली में, सबसे सही अंक 0 या 1 हो सकता है, दूसरा सबसे सही अंक 0, 1 या 2 हो सकता है, और इसी तरह। इसका मतलब यह है कि एक n
अंक कारक संख्या का अधिकतम मूल्य हो सकता है (n + 1)!
।
उदाहरण के लिए, फैक्टरैडिक संख्या 24201
को दशमलव में बदलने के लिए आप यह करेंगे:
2 * 5! = 240
4 * 4! = 96
2 * 3! = 12
0 * 2! = 0
1 * 1! = 1
240 + 96 + 12 + 0 + 1 = 349
इसलिए factoradic संख्या 24201
है 349
आधार 10
।
एक दशमलव संख्या ( 349
उदाहरण के रूप में) को एक कारक संख्या में बदलने के लिए, आप यह करेंगे:
संख्या से कम सबसे बड़ा फैक्टरियल लें। इस मामले में यह है 120
, या 5!
।
349 / 5! = 2 r 109
109 / 4! = 4 r 13
13 / 3! = 2 r 1
1 / 2! = 0 r 1
1 / 1! = 1 r 0
इसलिए 349
आधार 10
कारक संख्या है 24201
।
आपकी चुनौती सबसे छोटा प्रोग्राम या फ़ंक्शन बनाना है जो एक इनपुट नंबर को दूसरे आधार में परिवर्तित करता है।
इनपुट एक गैर-नकारात्मक पूर्णांक का एक स्ट्रिंग प्रतिनिधित्व होगा। एक फैक्टरैडिक संख्या एक !
(जैसे !24201
) से पहले होगी, जबकि एक दशमलव संख्या कुछ भी पहले नहीं होगी। आप मान सकते हैं कि अधिकतम इनपुट होगा 10! - 1
- 3628799
दशमलव में और 987654321
factoradic में। इसका मतलब है कि कारक फैक्टरैडिक इनपुट / आउटपुट में नहीं दिखाई देंगे।
कार्यक्रम !
को एक फैक्टरैडिक आउटपुट के लिए प्रस्तुत करने की आवश्यकता नहीं है , और एक स्ट्रिंग या पूर्णांक का उत्पादन कर सकता है। इनपुट किसी भी उचित प्रारूप में हो सकता है।
परीक्षण के मामलों:
Input: 1234
Output: 141120
Input: 746
Output: 101010
Input: !54321
Output: 719
Input: !30311
Output: 381
⍴⍵∩'!'
के साथ'!'∊⍵
एक चरित्र को बचाने के लिए।