public static void Main()
Console.WriteLine("Please choose an option from the menu:");
Console.WriteLine("If you would like to calculate n!, please press 1.");
Console.WriteLine("If you would like to calculate nPr, please press 2.");
Console.WriteLine("If you would like to calculate nCr, please press 3.");
if (int.TryParse(Console.ReadLine(),out choice))
Console.WriteLine("Please enter your value:");
long num = long.Parse(Console.ReadLine());
Console.WriteLine("The factorial of " + num + " = " + Fact(num));
Console.WriteLine("Please enter your first value:");
long n = long.Parse(Console.ReadLine());
Console.WriteLine("Please enter your second value:");
long r = long.Parse(Console.ReadLine());
Console.WriteLine(n + "P" + r + " = " + nPr(n, r));
Console.WriteLine("Please enter your first value:");
long nC = long.Parse(Console.ReadLine());
Console.WriteLine("Please enter your second value:");
long rC = long.Parse(Console.ReadLine());
Console.WriteLine(nC + "C" + rC + " = " + nCr(nC, rC));
static public long Fact(long a)
for (int i = 1; i <= a; i++)
static public long nPr(long n, long r)
return Fact(n) / Fact(n - r);
static public long nCr(long n, long r)
return Fact(n) / (Fact(r) * Fact(n - r));