Maison  >  Article  >  développement back-end  >  Méthode Golang pour déterminer s'il s'agit d'un nombre premier

Méthode Golang pour déterminer s'il s'agit d'un nombre premier

尚
original
2020-03-27 11:41:045304parcourir

Méthode Golang pour déterminer s'il s'agit d'un nombre premier

Comment déterminer les nombres premiers : Utilisez un nombre pour diviser 2 en sqrt (ce nombre) -1 S'il peut être divisé également, cela signifie que le nombre n'est pas un nombre premier. , sinon c'est un nombre premier.

Déterminez s'il s'agit d'un nombre premier :

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
}

Déterminez s'il s'agit d'un nombre premier Algorithme d'optimisation :

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
}

Pour plus de connaissances sur Golang, veuillez faire attention au tutoriel golang colonne du site PHP chinois.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn