判斷素數(shù)的方法:用一個數(shù)分別去除2到sqrt(這個數(shù))-1,如果能被整除,則表明此數(shù)不是素數(shù),反之是素數(shù)。
判斷是否素數(shù):
func IsPrime(n int) bool { if n == 1 { return false } //從2遍歷到n-1,看看是否有因子 for i := 2; i < n; i++ { if n%i == 0 { //發(fā)現(xiàn)一個因子 return false } } return true }
判斷是否素數(shù)優(yōu)化算法:
func IsPrimeII(n int) bool { //偶數(shù)一定不是素數(shù) 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 { //發(fā)現(xiàn)一個因子 return false } } return true }