यह भिन्नों को सरल बनाने के समान है, लेकिन डेट्स के साथ!
आपके प्रोग्राम का इनपुट mm/dd
उदाहरण के लिए फॉर्म का होना चाहिए
3/4 //March 4
12/15 //December 15
1/1 // January 1
हम मानते हैं कि इनपुट मान्य होगा जैसे कि महीनों की संख्या इन दिनों में है:
January 31
February 28
March 31
April 30
May 31
June 30
July 31
August 31
September 30
October 31
November 30
December 31
आपके कार्यक्रम का काम मान्य वैध इनपुट लेना है, और पुनरावृति (या पुनरावर्ती) तिथि को सरल करना है, और प्रत्येक पुनरावृत्ति (0th सहित), ऊपर लिखे गए महीने के पूर्ण नाम के साथ तारीख को आउटपुट करें।
उदाहरण के लिए:
के इनपुट को देखते हुए:
12/18
उत्पादन होगा
December 18
June 9
February 3
एक इनपुट जो पहले से ही सरलीकृत है केवल स्वयं आउटपुट:
11/17
आउटपुट:
November 17
महीने के नाम आपकी भाषा में एक फ़ंक्शन से नहीं आ सकते हैं। स्ट्रिंग्स को आप पसंद कर सकते हैं, परिकलित किया जा सकता है, लेकिन आप GetMonthString (4) या कुछ और जैसे मानक फ़ंक्शन का उपयोग नहीं कर सकते, आपको या तो उस फ़ंक्शन को लिखना होगा, या वर्णित महीनों के आउटपुट का तरीका खोजना होगा।
मैं ऐसे किसी भी मामले के बारे में नहीं सोच सकता जहाँ सरलीकृत तारीख एक अवैध तारीख का उत्पादन करती है, लेकिन यदि आप कभी भी अवैध तरीके से उत्पादन करते हैं, तो उत्पादन:
Illegal Date
लेकिन अगर आपको यकीन है कि ऐसा नहीं हो सकता है, तो आपको इस मामले को कवर करने की आवश्यकता नहीं है। आउटपुट की गई तारीखों को हमेशा ऊपर वर्णित के अनुसार मान्य होने की आवश्यकता होती है (यह बिना कहे कि महीने और दिन 1 से शुरू होते हैं)।
एल्गोरिथ्म:
प्रत्येक पुनरावृत्ति पर आप अंश और हर को विभाजित करने वाली सबसे छोटी संख्या से विभाजित करते हैं।
यही है, आप सभी संख्याओं को ऐसे पाते हैं कि, इस संख्या से अंश और हर दोनों को विभाजित करने से एक नया अंश और भाजक बनता है जो दोनों पूर्णांक (सामान्य कारक) हैं। एक छोटे से एक का चयन करें और व्यक्तिगत रूप से एक नया अंश उत्पन्न करने के लिए अंश और भाजक को विभाजित करें। यदि आपके द्वारा विभाजित की जाने वाली एकमात्र संख्या 1 है, तो आपने यथासंभव सरल कर दिया है और आप रुक जाते हैं।
मुझे लगता है, यह स्पष्ट है।
किसी भी भाषा की अनुमति है। यह कोड गोल्फ है, सबसे छोटा कोड जीतता है!
12/18
करने के लिए 6/9
और नहीं 4/6
(मैं सभी यात्रा गड़बड़ नहीं मिलता है ... जब मैं एक अंश मैं immedialtely मिला जिसके परिणामस्वरूप सरलीकृत मूल्य को आसान बनाने में)?