SoFunction
Updated on 2025-03-07

C# implements factorial (recursive, non-recursive) implementation code

namespace Factorial
{
    class Function
    {
        /// <summary>
/// Factorial is defined as:
        ///      ┌ 1        n=0      
        ///   N!=│
        ///      └ n(n-1)!  n>0
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public int Factorial(int number)
        {
            if (number != 0)
            {
                return number * Factorial(number - 1);
            }
            else if (number == 0)
            {
                return 1;
            }
            return number;
        }