एक बहुमुखी पूर्णांक प्रिंटर बनाना अच्छा है और सभी, लेकिन एक ही कोड लिखना जो बहुत सारे विभिन्न संख्याओं को प्रिंट करता है बोझिल है। क्या ऐसी स्क्रिप्ट बनाना आसान नहीं होगा जो किसी संख्या को आउटपुट करती हो, लेकिन आपको अगली संख्या प्राप्त करने के लिए एक नई स्क्रिप्ट भी देती है?
चुनौती:
एक कोड लिखें जो एकल पूर्णांक N
और एक निष्पादन योग्य कोड को आउटपुट करता है । अगला कोड आउटपुट होना चाहिए N+1
और एक कोड जो आउटपुट कर सकता है N+2
। इस रास्ते को तब तक जारी रखें जब तक आप पहुंच नहीं जाते N = 15
। (अंतिम मुद्रित संख्या 15 होनी चाहिए)।
नियम:
- कोई इनपुट नहीं (मान लें कि इनपुट खाली है)।
- पूर्ण कार्यक्रम या फ़ंक्शन या अन्य सुविधाजनक प्रारूप की अनुमति है।
- पहला कोड आउटपुट होना चाहिए
1
। - आप अग्रणी शून्य उत्पादन नहीं कर सकते। यानी आप मुद्रित नहीं कर सकते
01
के लिए1
। - आउटपुट प्रारूप पर होना चाहिए
N, Code_for_N+1
। ध्यान दें कि आउटपुट एक अल्पविराम और एक एकल स्थान द्वारा अलग किया गया है। कोड केN+1
पास कोई उद्धरण चिह्न नहीं है।N , Code_for_N+1
स्वीकार नहीं किया जाता है (अल्पविराम के सामने स्थान)। अनुगामी newlines ठीक हैं। - आउटपुट का पहला वर्ण संख्या होना चाहिए। (कोई अग्रणी स्थान, या
ans = N
)। - मुद्रित संख्या अगले कोड का हिस्सा नहीं होनी चाहिए (कोड में यह संख्या हो सकती है, लेकिन आप कोड के भाग के रूप में आउटपुट नंबर नहीं ले सकते)
- उदाहरण: इसके लिए आउटपुट
N=2
हो सकता है2, printer 2
:। इस मामले में,printer 2
के लिए कोड हैN=3
। आप संपूर्ण आउटपुट का उपयोग नहीं कर सकते:2, printer 2
कोड के रूप मेंN=3
।
- उदाहरण: इसके लिए आउटपुट
- स्क्रिप्ट विभिन्न भाषाओं में हो सकती है
- डेटाटिप्स अप्रासंगिक हैं (संख्या एक स्ट्रिंग हो सकती है), लेकिन इसे किसी भी चीज (उद्धरण चिह्न, कोष्ठक आदि) से घिरा नहीं जा सकता है।
- यदि कोई कोड आउटपुट है,
N=15
तो उसे या तो प्रिंट करना होगाSTOP!
(बोनस देखें), या बिलकुल भी प्रिंट न करें (स्पेस या लाइनलाइन भी नहीं)।- के लिए कोड
N=15
क्रैश नहीं हो सकता है (लेकिन STDERR के लिए आउटपुट ठीक है)। - यदि आप
N=15
प्रिंट16
या कुछ और (बोनस मामले को छोड़कर) कोड के लिए आउटपुट कोड अयोग्य घोषित कर दिया जाता है ।
- के लिए कोड
- निर्मित में क्वाइन ऑपरेटरों को अनुमति नहीं है।
- फ़ाइल सिस्टम के माध्यम से स्रोत फ़ाइल तक पहुँचने की अनुमति नहीं है।
बोनस:
-10 बाइट्स यदि कोड 15 प्रिंट करता है तो एक कोड भी बनाता है जो प्रिंट करता है " STOP!
"
पायथन सिंटैक्स का उपयोग करने वाले उदाहरण: (जाहिर है, ये केवल चयनित पूर्णांक के लिए काम करेंगे, 1 से 15. तक नहीं)
N = 1
print "1, print 2"
1, print 2
---
N = 15
print 15
15
---
N = 15 (Qualifies for the -10 bytes bonus)
print "15, print 'STOP!'"
15, print 'STOP!'
print 'STOP!'
STOP!
----
N = 15 (Qualifies for the -10 bytes bonus)
print "15, disp('STOP!')"
15, disp('STOP!') (disp('STOP!') outputs STOP! in MATLAB)
----
N = 15 (This one is not OK. The submission is disqualified)
print "15, print 16"
15, print 16
मानक गोल्फिंग नियम लागू! बाइट्स जीतने में सबसे छोटा कोड (एन = 1 के लिए)!
14, print(14+1)
या नहीं?
f=>f+""
अमान्य होगा? (f+""
फ़ंक्शन का निर्माण कोड लौटाता है।)