Quick actions

cmd+k|ctrl+k

Navigation

Languages

Recursive factorial function

Snippet info

Language

Go

Visibility

public

Author

riki.whyudi

Created

2022-11-09T23:35:54.114062Z

Updated

2022-11-09T23:35:54.114062Z

package main

import (
    "fmt"
)

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

func main() {
    fmt.Println(factorial(5))
}

/* lifecyle factorial
5 * factorial(4)
5 * 4 * factorial(3)
5 * 4 * 3 * factorial(2)
5 * 4 * 3 * 2 * factorial(1)
5 * 4 * 3 * 2 * 1 * factorial(0)
5 * 4 * 3 * 2 * 1 * 1

output: 120 (result factorial 5)
*/
INFO