Quick actions

cmd+k|ctrl+k

Navigation

Languages

Recursion/Iteration - Factorial

Snippet info

Language

Csharp

Visibility

public

Author

anna1.1

Created

2020-07-20T09:16:07Z

Updated

2020-07-20T14:08:42Z

using System;

class MainClass
{
    static void Main()
    {
        // Factorial - is going down from the number multiplying each till reach 1
        // e.g. of 5 or 5! = 5 * 4 * 3 * 2 * 1 = 120
        // Functions that find the factorial of any number
        Console.WriteLine($"Iterative: {FindFactorialIterative(5)}");
        Console.WriteLine($"Recursive: {FindFactorialRecursive(5)}");
    }

    static int FindFactorialRecursive(int number) //O(n)
    {
        if (number == 0 || number == 1) { return 1; }
        if (number == 2) { return 2; }
        return number * FindFactorialRecursive(number - 1);
    }

    static int FindFactorialIterative(int number) //O(n)
    {
        int answer = 1;
        if (number == 0 || number == 1) { return 1; } // 0x1
        if (number == 2) { return 2; } // 1x2
        for (int i = 2; i <= number; i++) { answer *= i; }
        return answer;
    }
}

// Iterative
// answer is 1, then 2, then 6, then 24
// i is 2, then 3 then 4 then 5
// (1xi2) (2xi3) (6xi4) (24xi5)

// Recursive
// The function called inside of the function is seperate with ITS OWN parameter each time
INFO