判断素数的方法:用一个数分别去除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 }