Maison > développement back-end > Golang > le corps du texte

Démarrage rapide : Utilisation des fonctions du langage Go pour implémenter l'algorithme de jugement des nombres premiers

王林
Libérer: 2023-08-02 09:43:46
original
882 Les gens l'ont consulté

Démarrage rapide : utilisez les fonctions du langage Go pour implémenter l'algorithme de détermination des nombres premiers

Introduction
Un nombre premier fait référence à un nombre qui ne peut être divisé que par 1 et par lui-même. Dans les algorithmes informatiques, déterminer si un nombre est premier est une opération de base fréquemment utilisée. Cet article explique comment utiliser les fonctions du langage Go pour implémenter un algorithme simple de jugement de nombres premiers.

Idée de mise en œuvre
Pour déterminer si un nombre n est un nombre premier, nous pouvons partir de 2 et continuer à essayer de diviser n par chaque nombre j inférieur à n. Si le résultat de la division n'est pas un nombre entier, alors n. est un nombre premier. La complexité temporelle de cet algorithme est O(n), ce qui prendra plus de temps pour des nombres plus grands.

Implémentation du code
Ce qui suit est un exemple de code pour un algorithme de détermination de nombres premiers implémenté en langage Go :

package main

import (

"fmt"
"math"
Copier après la connexion

)

// Déterminer si un nombre est premier
func isPrime(n int ) bool {

if n <= 1 {
    return false
}

// 判断n是否能被2到n的平方根之间的任意数整除,如果能则不是素数
sqrt := int(math.Sqrt(float64(n)))
for i := 2; i <= sqrt; i++ {
    if n%i == 0 {
        return false
    }
}

return true
Copier après la connexion

}

func main() {

// 验证一些数是否为素数
numbers := []int{2, 3, 5, 7, 9, 11, 13, 15, 17, 19}
for _, num := range numbers {
    if isPrime(num) {
        fmt.Printf("%d是素数
Copier après la connexion

", num)

    } else {
        fmt.Printf("%d不是素数
Copier après la connexion

", num)

    }
}
Copier après la connexion

}

Exécutez le code ci-dessus et le résultat est le suivant :

2 est un nombre premier
3 est un nombre premier
5 est un nombre premier
7 est un nombre premier
9 n'est pas un nombre premier
11 est un nombre premier
13 est un nombre premier
15 n'est pas un nombre premier
17 est un Le nombre premier
19 est un nombre premier

Analyse du code
La fonction isPrime est utilisée pour déterminer si un nombre est un nombre premier. Premièrement, on juge que si n est inférieur ou égal à 1, ce n’est certainement pas un nombre premier et renvoie directement faux. Ensuite, il parcourt chaque nombre i de 2 à la racine carrée de n, renvoyant false si n est divisible par i. Une fois la boucle terminée, si aucun nombre pouvant diviser n n’est trouvé, true est renvoyé.

Dans la fonction principale, nous déterminons si certains nombres sont premiers en appelant la fonction isPrime. Mettez ces nombres dans une tranche, parcourez chaque nombre de la tranche et affichez le résultat du jugement.

Conclusion
Cet article utilise le langage Go pour implémenter un exemple d'algorithme de jugement de nombres premiers afin d'aider les lecteurs à commencer rapidement à utiliser les fonctions du langage Go et à apprendre à résoudre des problèmes pratiques. Le jugement des nombres premiers est un problème courant dans les algorithmes. La maîtrise de ces algorithmes de base peut améliorer les capacités de programmation.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!