मैं प्रत्यावर्तन का अध्ययन कर रहा हूं और कुछ उदाहरण बनाने के लिए सोचा. मैं कोड है कि मैं की संख्या जोड़ने की कोशिश दिखाओ 1 करने के लिए 5, परिणाम होगा 15, लेकिन मैं रिटर्न 16.
क्या मैं गलत कर सकता हूं?
static void Main (string[] args) { Console.WriteLine(Sum(5)); Console.Read(); } static int Sum (int value) { if (value > 0) { return value + Sum(value-1); } else { return 1; } }
1 जवाब
एक समारोह पुनरावर्ती यह एक समारोह में कोड ही फोन है. अपने कोड में पाया जा सकता है पुनरावर्ती केस, यह वह स्थान है जहां फ़ंक्शन कॉल ही करता है, और आधार मामले, इस प्रकार की कॉल कहां होती है.
जहां तक मैं अपने कोड में देख सकते है, को पुनरावर्ती केस कब है मान से बड़ा है 0, और आधार मामले कब है मूल्य के लायक है 0. लेकिन आप लौट रहे है 1, मूल्य के लायक है जब 0, जो सही नहीं है.
सही बात तो यह होगी कि वापसी के आधार मामले था 0.
द्वारा कृपया, लॉग इन करें या आप रजिस्टर एक प्रश्न पूछें करने के लिए