भाज्य संख्या प्रणाली , भी 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दशमलव में और 987654321factoradic में। इसका मतलब है कि कारक फैक्टरैडिक इनपुट / आउटपुट में नहीं दिखाई देंगे।
कार्यक्रम !को एक फैक्टरैडिक आउटपुट के लिए प्रस्तुत करने की आवश्यकता नहीं है , और एक स्ट्रिंग या पूर्णांक का उत्पादन कर सकता है। इनपुट किसी भी उचित प्रारूप में हो सकता है।
परीक्षण के मामलों:
Input: 1234
Output: 141120
Input: 746
Output: 101010
Input: !54321
Output: 719
Input: !30311
Output: 381
⍴⍵∩'!'के साथ'!'∊⍵एक चरित्र को बचाने के लिए।