चुनौती:
एक प्रोग्राम या फ़ंक्शन बनाएं जो पूर्णांक इनपुट लेता है, जो नीचे दिए गए अनुसार एक नया प्रोग्राम / फ़ंक्शन आउटपुट करता है।
इनपुट:
पूर्णांक n
: टाइम बम विस्फोट से पहले सेकंड में समय।
आउटपुट:
मूल कार्यक्रम जिसमें n
इनपुट के रूप में सेकंड में समय था , एक नया कार्यक्रम / फ़ंक्शन आउटपुट करेगा जो निम्न करता है:
- गया है
n
सेकंड पारित कर दिया क्योंकि पहले के कार्यक्रम चलाया गया था? छापBOOM!
- Else: एक प्रोग्राम / फंक्शन प्रिंट करें, जो स्वयं चलाते समय टाइमर को
n
सेकंड्स में रीसेट करता है (और पहले आउटपुट प्रोग्राम / फंक्शन की तरह ही कार्य करता है)।
नोट: यह पहले आउटपुट प्रोग्राम / फ़ंक्शन (अधिकांश भाषाओं में कम से कम) के समान नहीं है, क्योंकि शुरुआती समय बदल गया है (नीचे स्पष्टीकरण उदाहरण देखें)।
छद्म कोड उदाहरण:
मान लीजिए कि मूल कार्यक्रम है ABC
और इनपुट 60
सेकंड है:
ABC
और 60
आउटपुट DEF(60)
।
- यदि
DEF(60)
60 सेकंड के भीतर चलाया जाता है, तो यह आउटपुट होगाDEF_G(60)
, जो बिल्कुल वैसा ही कार्य करता हैDEF(60)
, लेकिन एक नए शुरुआती समय के साथ। - यदि
DEF(60)
60 सेकंड के बाद चलाया जाता है, तो यह आउटपुट करेगाBOOM!
।
स्पष्टीकरण का उदाहरण है कि 'शुरुआती समय' के साथ मेरा क्या मतलब है:
- इनपुट
60
सेकंड के साथ बेस प्रोग्राम चलाया जाता है12:00:00
। यह शुरुआती समय के साथ पहला आउटपुट प्रोग्राम आउटपुट करता है12:00:00
। - के शुरुआती समय के साथ यह पहला आउटपुट प्रोग्राम
12:00:00
चलाया जाता है12:00:45
। यह शुरुआती समय के साथ एक दूसरे आउटपुट प्रोग्राम को आउटपुट करता है12:00:45
। - के शुरुआती समय के साथ यह तीसरा आउटपुट प्रोग्राम
12:00:45
है12:01:25
। यह चौथे आउटपुट प्रोग्राम को शुरू करने के समय के साथ आउटपुट करता है12:01:25
। - के शुरुआती समय के साथ यह चौथा आउटपुट प्रोग्राम
12:01:25
है12:05:00
। इसका उत्पादन होगाBOOM!
।
ध्यान दें कि पहला आउटपुट BOOM!
बाद में कैसे प्रिंट होगा 12:01:00
, लेकिन आउटपुट प्रोग्राम आगे बढ़ गया है, भले ही यह 12:01:25
चरण 3 पर है, यह अभी भी इसके बजाय अगले कार्यक्रम का उत्पादन करेगा BOOM!
(क्योंकि आउटपुट-ऑफ-आउटपुट प्रोग्राम उस पहले आउटपुट प्रोग्राम से परे कई बार शुरू होता है) ।
चुनौती नियम:
- डिफ़ॉल्ट क्वीन नियम लागू होते हैं।
- कम से कम
n
सेकंड तो पास होने चाहिए थे। इसलिए यदि इनपुट है60
और शुरुआती समय था12:00:00
,12:01:00
तो यह अभी भी v2 प्रोग्राम12:01:01
को आउटपुट करेगा , लेकिन यह आउटपुट करेगाBOOM!
। - आउटपुट प्रोग्राम कोई इनपुट नहीं लेंगे ( खाली अप्रयुक्त पैरामीटर को छोड़कर अगर यह छोटा है )। शुरुआती समय को अगले कार्यक्रमों को 'हार्ड-कोडेड' मान के रूप में दिया जाना चाहिए (यही वजह है कि आउटपुट प्रोग्राम का आउटपुट पिछले (अधिकांश भाषाओं में) के समान नहीं है।
- केवल आपके मुख्य कार्यक्रम / फ़ंक्शन का आकार बाइट्स के संदर्भ में गिना जाता है।
- आप प्रोग्राम / फ़ंक्शन को स्ट्रिंग (या तुलनीय उचित प्रारूप, जैसे बाइट / चरित्र सरणी / सूची) के रूप में आउटपुट कर सकते हैं, फ़ंक्शन के रूप में यदि आपकी भाषा इस या अन्य उचित प्रारूपों का समर्थन करती है (कृपया पूछें कि क्या आप निश्चित नहीं हैं)।
सामान्य नियम:
- ये है कोड गोल्फ, तो बाइट्स जीत में सबसे कम जवाब।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति दी जाती है। तुम्हारा कॉल।
- डिफ़ॉल्ट ढीले निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।