Avatar ·

C++ में रिकर्सन कैसे लागू करें?

सभी को नमस्ते! मैं C++ में नया हूँ और रिकर्सन को समझने की कोशिश कर रहा हूँ। मैंने फैक्टोरियल निकालने के लिए एक सरल फंक्शन लिखा, लेकिन यह सही काम नहीं कर रहा। यहाँ कोड है: ```cpp #include using namespace std; int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n - 1); } } int main() { int num = 5; cout << "फैक्टोरियल " << num << " = " << factorial(num) << endl; return 0; } ``` मैं संख्या 5 के लिए 120 प्राप्त करने की उम्मीद कर रहा हूँ, लेकिन कभी-कभी प्रोग्राम क्रैश हो जाता है या अजीब मान लौटाता है। मैंने नेगेटिव संख्याओं की जाँच जोड़ने की कोशिश की, लेकिन इससे मदद नहीं मिली। मैंने स्टैक ओवरफ्लो के बारे में भी पढ़ा, लेकिन यकीन नहीं है कि इससे कैसे बचा जाए। हो सकता है कि समस्या यह हो कि मैं बेस केस का सही उपयोग नहीं कर रहा हूँ? या रिटर्न वैल्यू के टाइप के साथ कुछ करने की ज़रूरत है? मैं समझना चाहता हूँ कि रिकर्सन को सही तरीके से कैसे व्यवस्थित किया जाए ताकि यह बड़ी संख्याओं (जैसे 20) के लिए स्थिर रूप से काम करे। मूल सिद्धांतों और संभावित समाधानों की व्याख्या के लिए आभारी रहूँगा।