prime number algorithm golang code example
Example 1: checking for prime numbers using golang
package main
import (
"fmt"
"math"
)
func IsPrime(value int) bool {
for i := 2; i <= int(math.Floor(float64(value)/2)); i++ {
if value%i == 0 {
return false
}
}
return value > 1
}
func IsPrimeSqrt(value int) bool {
for i := 2; i <= int(math.Floor(math.Sqrt(float64(value)))); i++ {
if value%i == 0 {
return false
}
}
return value > 1
}
func SieveOfEratosthenes(value int) {
f := make([]bool, value)
for i := 2; i <= int(math.Sqrt(float64(value))); i++ {
if f[i] == false {
for j := i * i; j < value; j += i {
f[j] = true
}
}
}
for i := 2; i < value; i++ {
if f[i] == false {
fmt.Printf("%v ", i)
}
}
fmt.Println("")
}
func main() {
for i := 1; i <= 100; i++ {
if IsPrime(i) {
fmt.Printf("%v ", i)
}
}
fmt.Println("")
for i := 1; i <= 100; i++ {
if IsPrimeSqrt(i) {
fmt.Printf("%v ", i)
}
}
fmt.Println("")
SieveOfEratosthenes(100)
}
Example 2: checking for prime numbers using golang
const n = 1212121
if big.NewInt(n).ProbablyPrime(0) {
fmt.Println(n, "is prime")
} else {
fmt.Println(n, "is not prime")
}