Drill

ProblemsGo › warmup

Factorial

easywarmupMathRecursionGo

Return n! — the product of every integer from 1 to n.

factorial(n: int) → int

Go needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

func factorial(n int) int {
	
}

Worked examples

CallResult
factorial(0)1
factorial(1)1
factorial(5)120
factorial(10)3628800

Hint

Start an accumulator at 1 and multiply up to n. A loop is plenty.

Reference solution in Go
func factorial(n int) int {
	acc := 1
	for i := 2; i <= n; i++ {
		acc *= i
	}
	return acc
}

The same problem in another language

More warmup problems in Go