RÉSOLUTION DES ÉQUATIONS DIOPHANTIENNES

zemetafyzik Messages postés 117 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 3 novembre 2007 - 29 juin 2005 à 01:12
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 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.

https://codes-sources.commentcamarche.net/source/32393-resolution-des-equations-diophantiennes

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 juin 2005 à 11:09
merci
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juin 2005 à 10:46
Bonjour,

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.
zemetafyzik Messages postés 117 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 3 novembre 2007 1
29 juin 2005 à 01:12
le label5 et 6 sont trop petit parfois, agrandi les.