判斷質數的方法:用一個數分別去除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教學欄位。
以上是golang判斷是否是質數的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!