4, 8, 15, 16, 23, 42
एक प्रोग्राम लिखें जो संख्याओं के इस क्रम को असीम रूप से आउटपुट करता है। हालाँकि, नंबर आपके स्रोत कोड में कहीं भी दिखाई नहीं देना चाहिए।
निम्नलिखित संख्याओं को आउटपुट करने के लिए एक मान्य जावा प्रोग्राम नहीं है क्योंकि नंबर अपने स्रोत कोड में दिखाई देते हैं:
class TheNumbers {
public static void main(String[] args) {
for(int n = 0;;) System.out.println(
n == 4 ? n = 8 :
n == 8 ? n = 15 :
n == 15 ? n = 16 :
n == 16 ? n = 23 :
n == 23 ? n = 42 : (n = 4)
);
}
}
"संख्या आपके स्रोत कोड में प्रकट नहीं होनी चाहिए" की परिभाषा इस प्रकार है:
- आपको अंक 4 का उपयोग नहीं करना चाहिए।
- आपको अंक 8 का उपयोग नहीं करना चाहिए।
- आपको अंक 5 के बाद अंक 1 का उपयोग नहीं करना चाहिए।
- आपको अंक 6 के बाद अंक 1 का उपयोग नहीं करना चाहिए।
- आपको अंक 3 के बाद अंक 2 का उपयोग नहीं करना चाहिए।
यदि आपकी भाषा कुछ वर्णों को अनदेखा करती है, जिन्हें अंकों के बीच रखा जा सकता है, तो यह एक वैध प्रतिस्थापन नहीं है। इसलिए उदाहरण के लिए यदि आपकी भाषा शाब्दिक 1_5
रूप से व्याख्या करती है 15
, तो यह अंक 1 के रूप में गिना जाएगा और उसके बाद अंक 5 होगा।
वैकल्पिक आधार प्रतिबंध में शामिल हैं, इसलिए उदाहरण के लिए:
- बाइनरी 100 को 4 के विकल्प के रूप में इस्तेमाल नहीं किया जा सकता है।
- ऑक्टल 10 को 8 के विकल्प के रूप में इस्तेमाल नहीं किया जा सकता है।
- हेक्साडेसिमल एफ को 15 के विकल्प के रूप में इस्तेमाल नहीं किया जा सकता है।
इसलिए, निम्नलिखित संख्याओं के आउटपुट के लिए एक मान्य (लेकिन बहुत प्रेरित नहीं) जावा प्रोग्राम है क्योंकि नंबर अपने स्रोत कोड में प्रकट नहीं होते हैं:
class TheNumbers {
public static void main(String[] args) {
for(int n = '*';;) {
System.out.println(n -= '&');
System.out.println(n *= 2);
System.out.println(n += 7);
System.out.println(++n);
System.out.println(n += 7);
System.out.println(n += 19);
}
}
}
ध्यान दें कि उस कार्यक्रम में, '*'
और '&'
पूर्णांक 42 और 38 के लिए प्रतिस्थापित किया गया है, क्योंकि अन्यथा अंक 4 और 8 इसके स्रोत कोड में दिखाई देंगे।
"अनुक्रम को असीम रूप से आउटपुट करता है" की परिभाषा व्याख्या के लिए खुली है। इसलिए, उदाहरण के लिए, एक कार्यक्रम जो ग्लिफ़ को छोटे होने तक आउटपुट करता है जब तक कि वे "असीम रूप से" छोटे न हों।
कुडोस यदि आप किसी तरह से अनुक्रम उत्पन्न करने में सक्षम हैं जो मूल रूप से प्रत्येक संख्या में हार्ड-कोडिंग नहीं है।
- इसे एक सूत्र में बांटना। मेरी धारणा है कि कोई एक नहीं है, लेकिन हो सकता है कि यह नकली हो।
- अनुक्रम को वापस करने के लिए एक छद्म यादृच्छिक जनरेटर को ठीक करना।
यह एक लोकप्रियता प्रतियोगिता है, इसलिए रचनात्मक रहें। 26 मार्च को सबसे अधिक वोटों के साथ जवाब विजेता है।
This isn't an interesting question, IMHO, since the solution is pretty trivial. Please post in the sandbox next time.
इससे बेहतर तरीका होगा This is a stupid question.
, लेकिन यह सिर्फ मेरी निजी राय है।