ホームページ >バックエンド開発 >Golang >素数かどうかを判断する Golang メソッド

素数かどうかを判断する Golang メソッド

尚
オリジナル
2020-03-27 11:41:045392ブラウズ

素数かどうかを判断する 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 中国語 Web サイトの #golang チュートリアル 列。

以上が素数かどうかを判断する Golang メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。