Objective
Today, we’re learning and practicing an algorithmic concept called Recursion. Check out the Tutorial tab for learning materials and an instructional video!
Task
Write a factorial function that takes a positive integer, N
as a parameter
and prints the result of N!
(N
factorial).
Note: If you fail to use recursion or fail to name your recursive function
factorial or Factorial, you will get a score of 0
.
Input Format
A single integer, N
(the argument to pass to factorial).
Constraints:
2 <= n <= 12
Your submission must contain a recursive function named factorial.
Output Format
Print a single integer denoting N!
.
Sample
Explanation
Consider the following steps:
factorial(3) = 3 * factoria(2)
factorial(2) = 2 * factoria(1)
- `factorial(1) = 1
From steps 2
and 3
, we can say factorial(2) = 2 * 1 = 2
; then when we
apply the value from factorial(2)
to step 1
, we get factorial(3) = 3 * 2 * 1 = 6
. Thus, we print 6
as our answer.
Solution
main.go
package main
import "fmt"
func main() {
var N int
fmt.Scan(&N)
fmt.Println(factorial(N))
}
func factorial(n int) int {
if n == 1 {
return 1
}
return n * factorial(n-1)
}
Privacy policy
This site does not use third-party tracking cookies!
If you use private source products, worrying about privacy and using this products is like worrying about global warming and not recycling.. So just don’t.. 😒