[VB.NET] Test de primalité

Voir le sujet précédent Voir le sujet suivant Aller en bas

[VB.NET] Test de primalité

Message par Skynyrd777 le Sam 26 Juin 2010 - 12:56

Bonjour,

Le test de primalité permet de définir si un nombre est premier ou non. Un nombre premier est un nombre qui n'est divisible que par lui même ou 1. Je rappelle que dans le vocabulaire de l'arithmétique dire qu'un nombre "est divisible par un autre" signifie que le résultat de cette division est un entier. Les nombres premiers sont à base de toute les mathématiques arithmétiques.

Algorithme en VB.NET
Code:
    Function primalite(ByVal n As UInteger) As Boolean
        For i As UInteger = 2 To Math.Sqrt(n)
            If n / i = Int(n / i) Then Return False
        Next i
        Return True
    End Function

Table de condition avec les nombres premiers de 1 à 100 en VB.NET
Code:
        If n < 100 Then
            If n = 2 Or n = 3 Or n = 5 Or n = 7 Or n = 11 Or n = 13 Or n = 17 Or n = 19 Or n = 23 Or n = 29 Or n = 31 Or n = 37 Or n = 41 Or n = 43 Or n = 47 Or n = 53 Or n = 59 Or n = 61 Or n = 67 Or n = 71 Or n = 73 Or n = 79 Or n = 83 Or n = 89 Or n = 97 Then Return True
        End If

Notes : La table de condition permet d'optimiser de test en comparant le nombre à tester avec les premiers déterminés en 1 à 100 pour éviter d'exécuter le test itératif si le nombre à tester est inférieur à 100.
avatar
Skynyrd777
Admin

Messages : 216
Date d'inscription : 02/06/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum