एक बहुमुखी पूर्णांक प्रिंटर बनाना अच्छा है और सभी, लेकिन एक ही कोड लिखना जो बहुत सारे विभिन्न संख्याओं को प्रिंट करता है बोझिल है। क्या ऐसी स्क्रिप्ट बनाना आसान नहीं होगा जो किसी संख्या को आउटपुट करती हो, लेकिन आपको अगली संख्या प्राप्त करने के लिए एक नई स्क्रिप्ट भी देती है?
चुनौती:
एक कोड लिखें जो एकल पूर्णांक 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+""फ़ंक्शन का निर्माण कोड लौटाता है।)