Symbol de Jacobi

Contenu du snippet

Public Function JacobiSymbol(a As Long, n AsLong) As Long

    Dim ans As Long, r As Long
 
    If a = 0 Then
        If n = 1 Then ans = 1 Else ans = 0
    ElseIf a=2 Then
        r = n Mod 8
        If r = 1 Or r = 7 Then
            ans = 1
        ElseIf r = 3Or r = 5 Then
            ans = -1
        End If
    ElseIf a >= n Then
        ans = JacobiSymbol((a Mod n), n)
    ElseIf a Mod n = 0 Then
        ans = JacobiSymbol(2, n) * JacobiSymbol(a/2, n)
    Else
        If a Mod 4 = 3 And n Mod 4 = 3 Then _
        ans = -JacobiSymbol(n, a) Else ans = JacobiSymbol(n, a)
    End If
    
    JacobiSymbol = ans

End Function


Compatibilité : VB6

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.