Coding challenges are a great resource for learning coding techniques and improve analytical thinking, this is a collection of challenges from different platforms.
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.. 😒