Skip to content

Factorial of A Number

Input: n = 4
Output: 24

Input: n = 6
Output: 760

Input: n = 0
Output: 1

Iterative Approach

package main

import "fmt"

func main() {
    res := fact(6)
    fmt.Println(res)
}

func fact(n int) int {
    res := 1
    for i := 2; i < n; i++ {
        res = res * i
    }
    return res
}

Time Complexity: θ(n)
Aux Space Complexity: θ(1)

Recursive Approach

package main

import "fmt"

func main() {
    f := fact(4)
    fmt.Println(f)
}

func fact(n int) int {
    if n == 0 {
        return 1
    }
    return n * fact(n-1)
}

Time Complexity: θ(n)
Aux Space Complexity: θ(n)