(नोट: हालांकि संबंधित है, इस चुनौती नहीं का डुप्लिकेट है इस एक है क्योंकि यह छलांग सेकंड स्वचालित रूप से निर्धारित करने के बजाय अपने समय में हार्डकोड आवश्यकता है, और का डुप्लिकेट नहीं है यह एक है क्योंकि कठिनाई के सबसे बिना छलांग दूसरा skewing समय निर्धारित करने से आता है , कुछ ऐसा है जो ज्यादातर समय एपीआई डिफ़ॉल्ट रूप से नहीं करते हैं। इस प्रकार, एक समाधान उन चुनौतियों में से किसी एक समाधान से अलग दिखने की संभावना है।)
हम 2016 के अंत में आ रहे हैं, लेकिन यह ज्यादातर लोगों की अपेक्षा थोड़ा अधिक समय लेने वाला है। तो यहाँ एक चुनौती इस साल हमारी अतिरिक्त दूसरी का जश्न मना रही है।
यूटीसी में वर्तमान समय को आउटपुट, घंटे, मिनट, सेकंड के रूप में। (उदाहरण के लिए, मध्याह्न के लिए वैध आउटपुट स्वरूप शामिल होंगे 12:00:00
और [12,0,0]
, प्रारूपण यहाँ महत्वपूर्ण रूप से महत्वपूर्ण नहीं है।)
हालांकि, एक मोड़ है: आपके कार्यक्रम को अतीत और भविष्य दोनों के लिए उचित रूप से लीप सेकंड को संभालना चाहिए । इसका मतलब है कि आपके प्रोग्राम को कुछ ऑनलाइन या स्वचालित रूप से अपडेट / अपग्रेड करने योग्य स्रोत से लीप सेकंड की एक सूची प्राप्त करनी होगी। यदि आप चाहें तो इसे प्राप्त करने के लिए आप इंटरनेट से जुड़ सकते हैं। हालाँकि, आप केवल उस URL से कनेक्ट हो सकते हैं जो इस चुनौती से पहले है (यानी आपके प्रोग्राम के अन्य हिस्से डाउनलोड नहीं करता है), और आप वर्तमान समय को निर्धारित करने के लिए कनेक्शन का उपयोग नहीं कर सकते हैं (विशेष रूप से: आपका प्रोग्राम कार्य करना चाहिए, भले ही कोई भी एक्सेस करने का प्रयास करे इंटरनेट एक पेज लौटाता है जो 24 घंटे तक बासी रहता है)।
वर्तमान समय के लिए अधिकांश ऑपरेटिंग सिस्टम के डिफॉल्ट API को प्रोग्राम से छुपाने के लिए लीप सेकंड के आसपास का समय कम करना होगा जो अन्यथा भ्रमित हो सकते हैं। इस प्रकार, इस चुनौती की मुख्य कठिनाई यह है कि पूर्ववत करने के लिए एक विधि या एपीआई की खोज की जाए, और यूटीसी में वर्तमान अपरिवर्तित वर्तमान समय में सही काम किया जाए।
सिद्धांत रूप में, आपका कार्यक्रम पूरी तरह से सही होना चाहिए अगर यह एक असीम रूप से तेज़ कंप्यूटर पर चलता है, और इसे चलाने के लिए जानबूझकर शून्य से अधिक समय नहीं लेना चाहिए। (बेशक, व्यवहार में, आपका कार्यक्रम अपूर्ण कंप्यूटर पर चलेगा, और इसलिए संभवतः तुरंत नहीं चलेगा। आपको परिणामों को अमान्य करने के बारे में चिंता करने की ज़रूरत नहीं है, लेकिन अपने कार्यक्रम की शुद्धता के लिए इस पर निर्भर नहीं होना चाहिए। )
आपके प्रोग्राम को इस बात की परवाह किए बिना काम करना चाहिए कि सिस्टम घड़ी किस टाइमज़ोन पर सेट है। (हालांकि, यह ऑपरेटिंग सिस्टम या पर्यावरण से जानकारी का अनुरोध कर सकता है कि किस समय का उपयोग किया जा रहा है, और मान सकते हैं कि उत्तर सटीक है।)
के तौर पर कोड गोल्फसबसे छोटा कार्यक्रम जीतता है। सौभाग्य!