इनपुट:
पूर्णांक।
आउटपुट:
- पहले पूर्णांक को इसके समतुल्य रोमन अंक में परिवर्तित करें।
- फिर उस रोमन अंक के प्रत्येक कैपिटल लेटर को उनके ASCII / UNICODE दशमलव मान में बदलें।
- और उन का योग आउटपुट।
उदाहरण:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
रोमन संख्याएँ: यहाँ एक शायद उपयोगी रोमन अंक परिवर्तक है।
चुनौती नियम:
- स्टैंडर्ड रोमन अंक नियम लागू होते हैं, इसलिए कोई वैकल्पिक रूपों की तरह
IIII
याVIIII
के बजायIV
औरIX
। * - 1,000 से अधिक रोमन संख्याओं के ऊपर मैक्रॉन लाइनें हैं
¯
(UNICODE nr 175)। तो एक लाइन के रूप में+175
और दो के रूप में मायने रखता है+350
। - आपको किसी भी प्रकार के इनपुट और आउटपुट प्रकार का उपयोग करने की अनुमति है, जब तक कि यह पूर्णांक का प्रतिनिधित्व करता है।
- परीक्षण मामलों की सीमा में होंगे
1 - 2,147,483,647
।
* रोमन अंक नियम (विकिपीडिया से उद्धरण):
संख्याएं प्रतीकों के संयोजन और मूल्यों को जोड़कर बनाई जाती हैं, इसलिए
II
दो (दो वाले) हैं औरXIII
तेरह (एक दस और तीन वाले) हैं। क्योंकि प्रत्येक अंक का दस, एक सौ और इतने के गुणकों का प्रतिनिधित्व करने के बजाय एक निश्चित मूल्य है, स्थिति के अनुसार, "जगह रखने" शून्य की आवश्यकता नहीं है, जैसे कि 207 या 1066 की संख्या में; उन संख्याओं कोCCVII
(दो सैकड़ों, एक पाँच और दो) औरMLXVI
(एक हजार, एक पचास, दस, एक और एक) के रूप में लिखा जाता है ।सबसे बड़े से शुरू होने वाले, मूल्य के क्रम में प्रतीकों को बाएं से दाएं रखा जाता है। हालांकि, कुछ विशिष्ट मामलों में, चार पात्रों को उत्तराधिकार में दोहराए जाने से बचने के लिए (जैसे
IIII
याXXXX
), घटाव संकेतन का अक्सर उपयोग किया जाता है:
I
पहले से रखा गया हैV
याX
एक कम इंगित करता है, इसलिए चार हैIV
(पांच से कम है) और नौ हैIX
(दस से कम है)X
पहले रखा गया हैL
याC
दस कम इंगित करता है, इसलिए चालीस हैXL
(पचास से कम दस) और नब्बे हैXC
(सौ से कम दस)C
पहले सौD
या उससेM
कम का संकेत दिया जाता है , इसलिए चार सौCD
(पांच सौ से कम सौ) और नौ सौCM
(एक हजार से कम सौ)
उदाहरण के लिए,MCMIV
एक हजार नौ सौ और चार, 1904 (M
एक हजार है,CM
) नौ सौ औरIV
चार है)।रोमन अंकों के आधुनिक उपयोग के कुछ उदाहरणों में शामिल हैं:
1954MCMLIV
; 1990 के रूप मेंMCMXC
; 2014 के रूप मेंMMXIV
स्रोत
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा फोन।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
-> M(X)CMXCIX
-> 77+263+67+77+88+67+73+88
-> 800
और 2147483647
-> ((MMCXLV)MMCDLXXX)MMMDCXLVII
-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
-> 5362
। इसलिए मैंने दूसरा सही किया है, लेकिन 9999
सही था।
2222222222
दी गई सीमा में नहीं है। इसके अलावा मैं इससे सहमत हूं 5362
।