हम सभी जानते हैं कि जब भी किसी परिमेय संख्या को दशमलव में लिखा जाता है, परिणाम या तो समाप्त होता है या (अंततः) आवधिक होता है। उदाहरण के लिए, जब दशमलव में 41/42 लिखा जाता है, तो परिणाम होता है
0.9 761904 761904 761904 761904 761904 761904 761904 ...
अनुक्रमों के प्रारंभिक अनुक्रम के साथ और फिर से 0.9
अनुक्रम 761904
दोहराया गया। (इसके लिए एक सुविधाजनक अंकन वह 0.9(761904)
जगह है जहाँ कोष्ठक दोहराव के अंकों के ब्लॉक को घेरते हैं।)
इस चुनौती में आपका लक्ष्य एक सकारात्मक तर्कसंगत संख्या लेना है, पहले अंक को दोहराएं जो दोहराए जाने वाले अनुक्रम का हिस्सा है, और परिणामी परिमेय संख्या वापस लौटाएं। उदाहरण के लिए, यदि हम इसे 41/42 तक करते हैं, तो हम प्राप्त करते हैं
0.9 61904 761904 761904 761904 761904 761904 761904 ...
या 0.9(619047)
संक्षेप में, जो 101/105 है।
यदि तर्कसंगत संख्या में एक समाप्ति दशमलव विस्तार है, जैसे 1/4 = 0.25
करता है, तो कुछ भी नहीं होना चाहिए। आप 1/4 के रूप में 0.250000000...
या तो के बारे में सोच सकते हैं 0.249999999...
, लेकिन या तो मामले में, दोहराए गए भाग के पहले अंक को हटाने से नंबर अपरिवर्तित हो जाता है।
विवरण
- इनपुट एक सकारात्मक परिमेय संख्या है, या तो अंश और हर का प्रतिनिधित्व करने वाले धनात्मक पूर्णांकों की एक जोड़ी के रूप में, या (यदि आपकी पसंद की भाषा इसे अनुमति देती है और आप चाहते हैं) किसी प्रकार के परिमेय-संख्या वस्तु के रूप में।
- आउटपुट एक तर्कसंगत संख्या भी है, दोनों रूप में भी। यदि परिणाम एक पूर्णांक है, तो आप एक परिमेय संख्या के बजाय पूर्णांक वापस कर सकते हैं।
- यदि इनपुट के रूप में संख्याओं की एक जोड़ी लेते हैं, तो आप मान सकते हैं कि वे अपेक्षाकृत प्रमुख हैं; यदि आउटपुट के रूप में संख्याओं की एक जोड़ी का निर्माण होता है, तो आपको उन्हें अपेक्षाकृत प्रमुख बनाना होगा।
- सावधान रहें कि आप पहला अंक पाते हैं जो दोहराए जाने वाले ब्लॉक को शुरू करता है। उदाहरण के लिए, कोई 41/42 लिख सकता है,
0.97(619047)
लेकिन यह 2041/2100 (दशमलव विस्तार के साथ0.97(190476)
) एक वैध उत्तर नहीं बनाता है । - आप मान सकते हैं कि आपके द्वारा प्राप्त इनपुट में, दशमलव के बाद पहला आवधिक अंक
120/11
=10.909090909...
अमान्य इनपुट है: (इसका पहला आवधिक अंक माना जा सकता0
है10
)। इस तरह के इनपुट पर आप कुछ भी कर सकते हैं। - यह कोड-गोल्फ है : सबसे छोटा समाधान जीतता है।
परीक्षण के मामलों
41/42 => 101/105
101/105 => 193/210
193/210 => 104/105
104/105 => 19/21
1/3 => 1/3
1/4 => 1/4
2017/1 => 2017/1
1/7 => 3/7
1/26 => 11/130
1234/9999 => 2341/9999
(2017,1)
।)
2/4
इनपुट में हो सकता है?
120/11
सही उत्तर है 111/11
या 210/11
?
111/11
कि इस समय सबसे ज्यादा उत्थान का जवाब है 210/11
, इसलिए मैं आपको मौजूदा उत्तरों को अमान्य करने से बचने के लिए चुनूंगा।
2017
इसके बदले लौट सकते हैं2017/1
?