Pour le point n°1, à savoir la résolution d'une équation polynomiale du second degré il faut:
- connaitre la méthode mathématique de résolution de ce type d'équation (dans l'espace des réels ou des complexes ?)
- soit de disposer d'un coprocesseur mathématique qui permet de travailler avec des nombres en virgule flottante et a la fonction racine carrée
- soit d'utiliser les algorithmes d'extraction de racines tel l'algorithme d'Héron d'Alexandrie
Il fonctionne ainsi
Soit n le nombre dont on veut extraire la racine et x0 une racine initiale comprise entre 1 et n
Il faut trouver x tel que x²= n soit 2x²=x²+n
Soit x=(x²+n)/(2x) soit x=(x+n/x)/2
On calcule la suite de:
xi+1=(xi+n/xi)/2
La convergence est rapide si x0 est judicieusement choisi (par exemple en ne prenant que les bits de poids fort et en n'en prenant que la moitié du nombre de bits. Par exemple pour n=25000 (base dix)
soit en binaire 11000011 0101000 (base 2). On gardera soit
x0 =1100001 (base 2) = 97 (base dix), soit 11000011 (base2) =195 (dix)
on aura
x1=10110001(base 2)=177 soit x1=10100001(base2)=161
x2=10111000(base 2)=184 soit x2=10011110(base2)=158
x3=10011111(base 2)=159 soit x3=10011110(base 2)=158
x4=10011110(base 2)=158 soit x4=10011110(base 2)=158
x5=10011110(base 2)=158 soit x5=10011110(base 2)=158
Il sera sans doute nécessaire de multiplier par un coefficient convenable si on veut avoir la précision souhaitée.
A+