判断是否素数
func IsPrime(n int) bool {
if n == 1 {
return false
}
//从2遍历到n-1,看看是否有因子
for i := 2; i < n; i++ {
if n%i == 0 {
//发现一个因子
return false
}
}
return true
}
判断是否素数优化算法
func IsPrimeII(n int) bool {
//偶数一定不是素数
if n>2 && n % 2 == 0{
return true
}
//从2遍历到n的方根,看看是否有因子
for i := 2; i <= int(math.Ceil(math.Sqrt(float64(n)))); i++ {
if n%i == 0 {
//发现一个因子
return false
}
}
return true
}