इस चुनौती को जीतने के लिए आपको जो करने की आवश्यकता है वह है सबसे छोटी "टाइमगो" स्क्रिप्ट को लिखने के लिए जो किसी दिए गए यूनिक्स टाइमस्टैम्प और स्क्रिप्ट के चलने के बीच के दशकों, वर्षों, हफ्तों, दिनों, घंटों, मिनटों और सेकंडों की संख्या को आउटपुट करती है।
आप जैसे, "न्यूनतम मान" में समय अंतर देना चाहिए 1 week
नहीं 7 days
, 9 years
नहीं 0 decades 9 years
। आपको बहुवचन रूपों का उपयोग भी सही ढंग से करना चाहिए, जैसे कि 1 day
नहीं 1 days
।
आपकी स्क्रिप्ट प्लस या माइनस 1 सेकंड के भीतर सटीक होनी चाहिए (इसलिए सटीक दूसरी राउंडिंग विधि महत्वहीन है)।
Time Equivalency Table
1 decade = 10 years
1 year = 31536000 seconds (not technically correct but close enough)
1 week = 7 days
1 day = 24 hours
1 hour = 60 minutes
1 minute = 60 seconds
आउटपुट फॉर्म का होना चाहिए
A decade(s) B year(s) C week(s) D day(s) E hour(s) F minute(s) G second(s)
जहां A...G
सभी गैर-नकारात्मक पूर्णांक हैं और s
केवल बहुवचन के लिए है।
टिप्पणियाँ
- टाइमस्टैम्प हमेशा अतीत से एक समय होगा। यह नकारात्मक हो सकता है।
- इनपुट और आउटपुट कुछ भी उचित हो सकता है: stdin / stdout, function input और return value, etc.
- आप पहले से ही ऐसा करने वाले किसी भी उपकरण का उपयोग नहीं कर सकते हैं। यदि आपकी भाषा में कोई
timesince(timestamp)
फ़ंक्शन है, तो आप उस फ़ंक्शन का उपयोग नहीं कर सकते हैं।
मैंने स्पष्ट रूप से नए उपयोगकर्ताओं के बीच अस्पष्ट प्रश्नों और पुराने उपयोगकर्ताओं को पूर्णता की आवश्यकता के लिए कुछ मूर्खतापूर्ण लड़ाई को आत्मसात करने की उम्मीद में स्पष्ट करने के लिए इसे संपादित किया है। यह एक भयानक सवाल (हालांकि अब यह भी के समान हो सकती नहीं था इस )।
यह देखते हुए कि अंतिम उत्तर के बाद से पर्याप्त समय बीत चुका है, मैं व्हिस्की को थ्री इफ बाई डिक्लेयर करता हूँ, इसके 177 बाइट्स के साथ रूबी इस संदर्भ के विजेता को लागू करती है!