किसी संख्या का गुणनखंड वह है जिसे हम नीचे दिए गए उदाहरण में एक पुनरावर्ती फ़ंक्शन checkFact () का उपयोग करके खोज रहे हैं -
यदि मान 1 है, तो यह 1 लौटाता है क्योंकि फैक्टोरियल 1 है -
if (n == 1) return 1;
यदि नहीं, तो यदि आप 5 का मान चाहते हैं, तो निम्न पुनरावृत्तियों के लिए पुनरावर्ती फ़ंक्शन को कॉल किया जाएगा!
Interation1: 5 * checkFact (5 - 1); Interation2: 4 * checkFact (4 - 1); Interation3: 3 * checkFact (3 - 1); Interation4: 4 * checkFact (2 - 1);
रिकर्सन का उपयोग करके एक फैक्टोरियल की गणना करने के लिए, आप निम्न कोड को चलाने का प्रयास कर सकते हैं जो दिखाता है कि ऊपर क्या किया गया है -
उदाहरण
using System;
namespace Demo {
class Factorial {
public int checkFact(int n) {
if (n == 1)
return 1;
else
return n * checkFact(n - 1);
}
static void Main(string[] args) {
int value = 9;
int ret;
Factorial fact = new Factorial();
ret = fact.checkFact(value);
Console.WriteLine("Value is : {0}", ret );
Console.ReadLine();
}
}
} आउटपुट
Value is : 362880