Generateur de nombres premiers

Bonjour

j'ai crée un bout de code qui me permet des générer des nombres premiers , il a l'air de tourner

H = InputBox("saisir une valeur entière >=2")
For i = 2 To H
n = 0
  For k = 2 To i - 1

       If i Mod k = 0 Then 'si il existe au moins un diviseur de i dans la boucle k = 2 to i-1 alors;
            n = n + 1
       End If
  Next
       If n = 0 Then
          x = x & " " & i
       End If

 Next
MsgBox "voici la liste des nombre premiers jusqu'a:" & " " & H & Chr(10) & x
End Sub

y a t il une autre facon de l'optimiser ?

Merci pour vos réponses

Bonjour,

une première optimisation (=temps d'exécution)

Sub premier()
    H = InputBox("saisir une valeur entière >=2")
    For i = 2 To H
        n = 0
        For k = 2 To sqr(i)

            If i Mod k = 0 Then    'si il existe au moins un diviseur de i dans la boucle k = 2 to i-1 alors;
                n = 1
                Exit For
            End If
        Next
        If n = 0 Then
            x = x & " " & i
        End If

    Next
    MsgBox "voici la liste des nombre premiers jusqu'a:" & " " & H & Chr(10) & x
End Sub

Merci h2s04 effectivement le compteur n’était pas trop utile

rocket4 a écrit :

Merci h2s04 effectivement le compteur n’était pas trop utile

il y a le compteur et l'optimisation de la boucle k

Rechercher des sujets similaires à "generateur nombres premiers"