To calculate a factorial in C#, you can use any of the following three ways −
Calculate factorial with for loop
Example
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace factorial {
class Test {
static void Main(string[] args) {
int i, res;
int value = 5;
res = value;
for (i = value - 1; i >= 1; i--) {
res = res * i;
}
Console.WriteLine("\nFactorial of "+value+" = "+res);
Console.ReadLine();
}
}
}Output
Factorial of 5 = 120
Calculate factorial with a while loop
Example
using System;
namespace MyApplication {
class Factorial {
public int display(int n) {
int res = 1;
while (n != 1) {
res = res * n;
n = n - 1;
}
return res;
}
static void Main(string[] args) {
int value = 5;
int ret;
Factorial fact = new Factorial();
ret = fact.display(value);
Console.WriteLine("Value is : {0}", ret );
Console.ReadLine();
}
}
}Output
Value is : 120
Calculate factorial using recursion
Example
using System;
namespace MyApplication {
class Factorial {
public int display(int n) {
if (n == 1)
return 1;
else
return n * display(n - 1);
}
static void Main(string[] args) {
int value = 5;
int ret;
Factorial fact = new Factorial();
ret = fact.display(value);
Console.WriteLine("Value is : {0}", ret );
Console.ReadLine();
}
}
}Output
Value is : 120