C# में फैक्टोरियल की गणना करने के लिए आप निम्नलिखित तीन तरीकों में से किसी का भी उपयोग कर सकते हैं:
1. for लूप के साथ फैक्टोरियल कैलकुलेट करें
उदाहरण
using System;
namespace FactorialDemo
{
class Program
{
static void Main(string[] args)
{
int i, result;
int value = 5;
result = value;
for (i = value - 1; i >= 1; i--)
{
result = result * i;
}
Console.WriteLine("\n" + value + " का फैक्टोरियल = " + result);
Console.ReadLine();
}
}
}
आउटपुट
5 का फैक्टोरियल = 120
2. while लूप के साथ फैक्टोरियल कैलकुलेट करें
उदाहरण
using System;
namespace FactorialWhileDemo
{
class Factorial
{
public int Calculate(int n)
{
int result = 1;
while (n != 1)
{
result = result * n;
n = n - 1;
}
return result;
}
static void Main(string[] args)
{
int value = 5;
Factorial fact = new Factorial();
int ret = fact.Calculate(value);
Console.WriteLine("मान है: {0}", ret);
Console.ReadLine();
}
}
}
आउटपुट
मान है: 120
3. रिकर्सन का उपयोग करके फैक्टोरियल कैलकुलेट करें
उदाहरण
using System;
namespace FactorialRecursionDemo
{
class Factorial
{
public int Calculate(int n)
{
if (n == 1)
return 1;
else
return n * Calculate(n - 1);
}
static void Main(string[] args)
{
int value = 5;
Factorial fact = new Factorial();
int ret = fact.Calculate(value);
Console.WriteLine("मान है: {0}", ret);
Console.ReadLine();
}
}
}
आउटपुट
मान है: 120
नोट: तीनों तरीके समान परिणाम देते हैं। for लूप और while लूप इटरेटिव दृष्टिकोण हैं, जबकि रिकर्सन एक रिकर्सिव दृष्टिकोण है। बड़े नंबरों के लिए रिकर्सन स्टैक ओवरफ्लो का कारण बन सकता है।