zemetafyzik
Messages postés117Date d'inscriptionjeudi 17 juin 2004StatutMembreDernière intervention 3 novembre 2007
-
29 juin 2005 à 01:12
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
29 juin 2005 à 11:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
29 juin 2005 à 11:09
29 juin 2005 à 10:46
Je n'ai pas regardé tout en détail, mais pour l'histoire du PGCD, je te propose d'essayer une forme optimisée. A savoir, au lieu de :
Do
m = a - Fix(a / b) * b
a = b
b = m
Loop While m <> 0
Mettre :
If A < B Then m B: B A: A = m 'inverse les valeurs
'Calcul
Do While Abs(B) >= 1
m = A - Int(A / B + 0.5) * B
A = B
B = m
Loop
Pgcd2 = Abs(A)
De plus, la déclaration :
Dim a, b, m
n'est pas trés bonne, puisse que dans ce cas a,b,m sont en variant. IL faut absolument le type. ICI le type "Long" semble bien...
soit :
Dim a as Long, b as Long, m as Long
Cela permettera d'accélérer les calculs...
Amicalement,
Us.
29 juin 2005 à 01:12