Skip to content

Instantly share code, notes, and snippets.

@alessiosavi
Created October 29, 2019 12:54
Show Gist options
  • Save alessiosavi/579548cffde67222505455ce3c916290 to your computer and use it in GitHub Desktop.
Save alessiosavi/579548cffde67222505455ce3c916290 to your computer and use it in GitHub Desktop.
Calculate the max prime number in Go
import (
"log"
"math"
)
// Copied from https://www.geeksforgeeks.org/find-largest-prime-factor-number/
func CalculateMaxPrimeFactor(n int64) int64 {
var maxPrime int64 = -1
var i int64
for n%2 == 0 {
maxPrime = 2
n >>= 1 // -> n/=2
}
for i = 3; float64(i) <= math.Sqrt(float64(n)); i += 2 {
for n%i == 0 {
maxPrime = i
n = n / i
}
}
if n > 2 {
maxPrime = n
}
log.Println(maxPrime)
return maxPrime
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment