PGCD de deux nombres grace à l'algorithme euclidien

Contenu du snippet

Function Pgcd2(ByVal A As Long, ByVal B As Long) As Long
'Calcul le PGCD de deux nombres
'Variante optimisant l'Algo d'Euclide
'Déclarations
Dim R As Long
'validité paramètre
If A = 0 And B = 0 Then Exit Function 'Pas de solution
If A < B Then R = B: B = A: A = R 'inverse les valeurs
'Algo
Do While Abs(B) >= 1
    R = A - Int(A / B + 0.5) * B 'Ici le +0.5 permet de réduire mathématiquement le nb de boucle nécessaire
    A = B
    B = R
Loop
Pgcd2 = Abs(A)
End Function


Compatibilité : VB6, VBA

Disponible dans d'autres langages :

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.