आपका कार्य किसी दिए गए धनात्मक पूर्णांक को अरबी अंक से रोमन अंक में बदलना है ।
जब आप 4000 तक गिनती करते हैं तो चीजें मुश्किल हो जाती हैं।
रोमनों ने ऐसा किया कि उस प्रतीक को गुणा करने के लिए एक प्रतीक के ऊपर एक रेखा जोड़कर 1 000
। हालाँकि, ASCII में ओवरलाइन बिल्कुल प्रदर्शित करने योग्य नहीं हैं। इसके अलावा, एक प्रतीक द्वारा गुणा करने के लिए डबल ओवरलाइन हैं 1 000 000
, और फिर एक प्रतीक द्वारा गुणा करने के लिए ट्रिपल ओवरलाइन 1 000 000 000
, आदि ...
इसलिए, मैंने ओवरलाइन को बदलने के लिए कोष्ठक का उपयोग करने का निर्णय लिया ।
प्रतीकों को व्यक्तिगत रूप से कोष्ठकों में रखा जा सकता है। उदाहरण के लिए, दोनों (VI)
और के (V)(I)
मान्य प्रतिनिधित्व हैं 6 000
। (V)M
6000 का वैध प्रतिनिधित्व भी है।
(I)
प्रतिनिधित्व करने का एक वैध तरीका है 1 000
।
परीक्षण के मामलों
Input: 1
Output: I
Input: 2
Output: II
Input: 3
Output: III
Input: 4
Output: IV
Input: 15
Output: XV
Input: 40
Output: XL
Input: 60
Output: LX
Input: 67
Output: LXVII
Input: 400
Output: CD
Input: 666
Output: DCLXVI
Input: 3000
Output: MMM
Input: 3999
Output: MMMCMXCIX
Input: 4000
Output: M(V)
Input: 4999
Output: M(V)CMXCIX
Input: 6000
Output: (VI)
Input: 6000000
Output: ((VI))
Input: 6006000
Output: ((VI)VI)
Input: 6666666666
Output: (((VI)DCLXVI)DCLXVI)DCLXVI
स्कोरिंग
यह कोड-गोल्फ है । बाइट्स में सबसे छोटा कोड जीत जाता है।
(IV)
4000 का एक स्वीकार्य प्रतिनिधित्व?