判断素数的方法:用一个数分别去除2到sqrt(这个数)-1,如果能被整除,则表明此数不是素数,反之是素数。
判断是否素数: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
}
更多golang知识请关注PHP中文网golang教程栏目。