C#: N For Loops -
मैं इस कोड को loops के लिए n नेस्टेड कैसे परिवर्तित करूँगा:
int num = 4; के लिए (int i = 0; i & lt; = num; i ++) {for (int j = 0; j + i & lt; = num; j ++) {के लिए (int k = 0; i + j + k & lt; = num ; कश्मीर ++) {के लिए (इंट एल = 0; आई + जे + कश्मीर एल एंड एलटी; = num; l ++) {कंसोल। विरहित लाइन (आई + "+ +" + + "+ + +" + + "+ + l); }}}}
इसलिए यदि संख्या 2 है तो केवल दो छोरों के लिए; I और j।
यह होमवर्क नहीं है और मैं इसे फिर से करने की उम्मीद कर रहा था। प्रत्येक कंसोल.प्रकाशित () को एक तत्व की तरह एक साथ सभी तरह से संग्रहीत करने की आवश्यकता होती है।
इस कार्यक्रमों का आउटपुट एन आयामी हाइपरसेज एक्सपोनेंट बनाता है।
ठीक है, आप गैररेक्रिसिव समाधान चाहते हैं जो पैरामीटर में num और में निरंतर संख्या में नेस्टेड छोरों , हाँ?
यहां एक विधि का स्केच है जो ऐसा करता है विवरण भरना एक अभ्यास के रूप में छोड़ दिया जाता है।
सबसे पहले, मुझे लगता है कि आपके पास एक अचल प्रकार "वेक्टर" है जो 0-ट्यूपल, 1-ट्यूपल, 2-ट्यूपल, 3-ट्यूपल, ... एन-ट्यूपल
विधि वेक्टर के आकार में लेती है और उस आकार के वैक्टर का अनुक्रम देता है।
IEnumerable & lt; vector & gt; MakeVectors (पूर्णांक संख्या) {सदिश वर्तमान = नया वेक्टर (संख्या); // num आइटम के साथ एक सभी-शून्य वेक्टर बनाते हैं। जबकि (सच) {उपज रिटर्न वर्तमान; अगले वेक्टर; बूल मिला अन्य = GetNextVector (वर्तमान, बाहर अगले); अगर (! मिल गया अन्य) तोड़; वर्तमान = अगला; }}
वहां मौजूद है समस्या अब दो छोटी समस्याओं में कम कर दी गई है:
1) आकार संख्या के एक सदिश को देखते हुए, क्या यह क्रम में अंतिम सदिश है?
2) यदि नहीं, तो क्या है अगले वेक्टर?
अगले सदिश को मौजूदा सदिश को क्या दिया जाता है, यह जानने के लिए यह काफी सरल होना चाहिए: अंतिम स्लॉट का मूल्य बढ़ाएं अगर वह इसे बहुत बड़ा बनाता है, तो इसे शून्य पर सेट करें और पिछले स्लॉट के मूल्य में वृद्धि करें
समझ में आता है?
Comments
Post a Comment