1. Introduction
Factorial, often represented with the symbol !, is a mathematical function that multiplies a number by every number below it down to 1. In programming, calculating the factorial of a number is a classic use-case of recursion. In this blog post, we'll dive into how to construct a Go program to compute the factorial of a number submitted by the user.
2. Program Overview
Our Go program intends to:
1. Request the user to input a number.
2. Compute the factorial of the specified number.
3. Showcase the resultant factorial to the user.
3. Code Program
// We kickstart our program with the main package declaration, denoting our application's entry point.
package main
// The fmt package is utilized to handle input and output operations.
import "fmt"
// Recursive function to compute the factorial of an integer.
func factorial(n int) int {
if n == 0 {
return 1
}
return n * factorial(n-1)
}
// The execution journey of our program begins from the main function.
func main() {
// An int variable is declared to hold the user's input.
var number int
// We prompt the user to supply a number, which is subsequently saved in the number variable.
fmt.Print("Enter a number to find its factorial: ")
fmt.Scan(&number)
// We call the factorial function and present the result to the user.
fmt.Printf("The factorial of %d is: %d\n", number, factorial(number))
}
Output:
Suppose the user enters the number 5. The output of the program would be: The factorial of 5 is: 120
4. Step By Step Explanation
1. Package and Import Statements: The journey commences with package main, signifying the start of our program. For I/O functionalities, the fmt package is incorporated.
2. Factorial Function: Before our main function, we declare the factorial function which utilizes recursion. If the input is 0, the factorial is 1. For any other number n, the factorial is n times the factorial of n-1.
3. Variable Initialization: We employ the var keyword to initialize an integer variable, number, which will retain the user's input.
4. Accepting User Input: A prompt is displayed to the user via fmt.Print, and the input is collected and stored in the number variable using fmt.Scan.
5. Calculating and Displaying Factorial: The factorial function is invoked with the user's input, and its result is exhibited using fmt.Printf.
Comments
Post a Comment
Leave Comment