Three Different ways to calculate factorial in C#

To calculate a factorial in C#, you can use any of the following three ways −

Calculate factorial with for loop

Example

Live Demo

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("Factorial of "+value+" = "+res);
}
}
}

Output

Factorial of 5 = 120

Calculate factorial with a while loop

Example

Live Demo

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 );
}
}
}

Output

Value is : 120

Calculate factorial using recursion

Example

Live Demo

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 );
}
Value is : 120