首頁 > 後端開發 > Golang > golang判斷是否是質數的方法

golang判斷是否是質數的方法

發布: 2020-03-27 11:41:04
原創
5356 人瀏覽過

golang判斷是否是質數的方法

判斷質數的方法:用一個數分別去除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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板