Est ce un chiffre premier?(fonction)

Contenu du snippet

Reçoit un chiffre et renvoi vrai si c'est un chiffre premier

Source / Exemple :


Private Function isCpremier(ByVal iChiffre As Long) As Boolean
    '----
    If iChiffre < 4 Or iChiffre = 5 Or iChiffre = 7 Then
        isCpremier = True
        Exit Function
    End If
    
    If iChiffre <= 7 Or iChiffre Mod 2 = 0 _
                     Or iChiffre Mod 3 = 0 Then
        isCpremier = False
        Exit Function
    End If
    
    Dim i As Long, j As Long, r As Long, r2 As Long
    r = 1: r2 = 1
    Do While (i * i <= iChiffre And r * r2 > 0)
        j = j + 1
        i = 6 * j - 1: r = iChiffre Mod i
        i = i + 2: r2 = iChiffre Mod i
        If r = 0 Or r2 = 0 Then
            If r = 0 Or i = i - 2 Then
                isCpremier = False
            End If
        Else
            isCpremier = True
        End If
    Loop
End Function

Conclusion :


@+,vic

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.