Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions bundle-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,30 @@ func main() {
http.ServeFile(w, r, r.URL.Path[1:])
})

printPrimeNumbers(5,19)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The function printPrimeNumbers is called directly in the main function. This could lead to unnecessary computation during server startup, especially if the range of numbers is large. It would be better to call this function based on a specific condition or request.


// start HTTP server with `http.DefaultServeMux` handler
log.Fatal(http.ListenAndServe(":9000", nil))

}

func printPrimeNumbers(num1, num2 int){
if num1<2 || num2<2{
fmt.Println("Numbers must be greater than 2 for this to work.")
return
}
for num1 <= num2 {
isPrime := true
for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
if num1 % i == 0{
isPrime = false
break
}
Comment on lines +37 to +41

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The inner loop checks whether a number is prime by dividing it by all numbers up to its square root. However, you can optimize this by checking division only up to the smallest prime number greater than the square root. If a number is not divisible by any prime number less than or equal to its square root, then it's a prime number. This reduces the number of iterations and improves performance.

Suggested change
for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
if num1 % i == 0{
isPrime = false
break
}
for i:=2; i*i<=num1; i++{
if num1 % i == 0{
isPrime = false
break
}
}

}
if isPrime {
fmt.Printf("Found Prime number: %d ", num1)
}
num1++
}
fmt.Println()
}
Comment on lines +30 to +49

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image description CodeRabbit

The function printPrimeNumbers prints prime numbers directly to the console. This might not be ideal in a production environment as it could clutter the console output. Consider returning the prime numbers as a slice of integers instead and let the caller decide what to do with them.

Suggested change
func printPrimeNumbers(num1, num2 int){
if num1<2 || num2<2{
fmt.Println("Numbers must be greater than 2 for this to work.")
return
}
for num1 <= num2 {
isPrime := true
for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
if num1 % i == 0{
isPrime = false
break
}
}
if isPrime {
fmt.Printf("Found Prime number: %d ", num1)
}
num1++
}
fmt.Println()
}
func printPrimeNumbers(num1, num2 int) []int {
primes := []int{}
if num1<2 || num2<2{
fmt.Println("Numbers must be greater than 2 for this to work.")
return primes
}
for num1 <= num2 {
isPrime := true
for i:=2; i<=int(math.Sqrt(float64(num1))); i++{
if num1 % i == 0{
isPrime = false
break
}
}
if isPrime {
primes = append(primes, num1)
}
num1++
}
return primes
}