EspañolDeutschFrançaisItalianoPortuguêsРусскийΕλληνικά日本語中文(简体)हिन्दी; हिंदीالعربية
डिफ़ॉल्ट भाषा के रूप में सेट करें
PF प्रश्न - फोरम

जावा पर recursion का उपयोग करके संख्याओं को जोड़ने के लिए कैसे

मैं प्रत्यावर्तन का अध्ययन कर रहा हूं और कुछ उदाहरण बनाने के लिए सोचा. मैं कोड है कि मैं की संख्या जोड़ने की कोशिश दिखाओ 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;
   }
}

 

Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
jesus_coam पूछा करता है 7 साल
1 जवाब

एक समारोह पुनरावर्ती यह एक समारोह में कोड ही फोन है. अपने कोड में पाया जा सकता है पुनरावर्ती केस, यह वह स्थान है जहां फ़ंक्शन कॉल ही करता है, और आधार मामले, इस प्रकार की कॉल कहां होती है.

जहां तक मैं अपने कोड में देख सकते है, को पुनरावर्ती केस कब है मान से बड़ा है 0, और आधार मामले कब है मूल्य के लायक है 0. लेकिन आप लौट रहे है 1, मूल्य के लायक है जब 0, जो सही नहीं है.

सही बात तो यह होगी कि वापसी के आधार मामले था 0.

Share on Facebook Tweet about this on Twitter Share on Google+ Pin on Pinterest Share on Reddit Share on VK Share on StumbleUpon Share on Tumblr Share on LinkedIn Email this to someone Print this page
यहोशू कहा करता है 7 साल