1. Introduction
A prime number is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers. In other words, if a number is prime, it has only two distinct positive divisors: 1 and itself. For example, 5 is prime because the only ways to create the number 5 by multiplying integers are 1 × 5 or 5 × 1. In contrast, numbers greater than 1 that have more than two positive divisors are called composite. Notably, 1 is neither prime nor composite.
In this tutorial, we'll construct a Go program to list all prime numbers within a designated range.
2. Program Overview
Our Go program is constructed to:
1. Request the user to stipulate a range (start and end points).
2. Determine all prime numbers within the given range.
3. Exhibit the identified prime numbers to the user.
3. Code Program
// We initiate our Go program by declaring the main package.
package main
// The fmt package is incorporated to oversee input and output proceedings.
import "fmt"
// Function to check if a number is prime.
func isPrime(num int) bool {
if num <= 1 {
return false
}
for i := 2; i*i <= num; i++ {
if num % i == 0 {
return false
}
}
return true
}
// Function to display all prime numbers within a specified range.
func primesInRange(start, end int) []int {
var primes []int
for i := start; i <= end; i++ {
if isPrime(i) {
primes = append(primes, i)
}
}
return primes
}
// Our program's execution originates from the main function.
func main() {
var start, end int
// Users are prompted to provide the range's start and end points.
fmt.Print("Enter the start of the range: ")
fmt.Scan(&start)
fmt.Print("Enter the end of the range: ")
fmt.Scan(&end)
// Display the prime numbers located within the provided range.
fmt.Printf("Prime numbers between %d and %d are: %v\n", start, end, primesInRange(start, end))
}
Output:
Assuming the user defines the range as 10 to 50, the program's output would be: Prime numbers between 10 and 50 are: [11 13 17 19 23 29 31 37 41 43 47]
4. Step By Step Explanation
1. Package and Import Statements: The expedition begins with the package main assertion, indicating our program's commencement. The fmt package is utilized for I/O operations.
2. Prime Check Function: The isPrime function ascertains if a provided integer is prime. A number less than or equal to 1 is immediately dismissed. The function then verifies if the number has divisors other than 1 and itself.
3. Function to Identify Primes in Range: The primesInRange function traverses each number within the designated range and appends prime numbers to the primes slice.
4. Variable Initialization: Two integer variables, start and end, are initialized to store the range's boundaries.
5. User Input and Display: After gathering the range limits, the program calculates and presents the prime numbers within the said range.
Comments
Post a Comment
Leave Comment