Approximation de $\sqrt{2}$Méthode de Héron d'Alexandrie
On choisit un nombre strictement positif. On ajoute à la moitié de ce nombre son inverse. On réitère le processus avec le résultat obtenu. Chaque nouveau résultat est une meilleure approximation de $\sqrt{2}$.
def heron(n):
r = 5
for i in range(0,n):
r = r/2.0+1.0/r
return r
print(heron(3))
print(heron(6))
print(heron(7))
La méthode de Héron correspond à la méthode de Newton appliquée à la fonction $f$ définie sur $0\,;+\infty[$ par $f(x)=x^2-2$.
Méthode babylonienne
#a vaut la partie entière de la racine carrée de n
# b est un nombre plus grand que racine carrée de n
n = 2.0
a = 1.0
b = 2.0
for i in range(0,5):
a = n/b
b = (a+b)/2
print a
print b
Fraction continue
$$\begin{aligned}
&\sqrt{2}=1+\dfrac{1}{2+\dfrac{1}{2+\dfrac{1}{2+\dfrac{1}{2+\dfrac{1}{2+\dfrac{1}{2+\dfrac{1}{\cdots}}}}}}}\\
\end{aligned}$$
On remplace au rang $n$ les pointillés par $2$, en supposant que $\dfrac{1}{n}$ est proche de $0$.
def fracCont(n):
f = 2
for i in range(0,n-1):
f = 2+1.0/f
f = 1 + 1.0/f
return f
print(fracCont(10))
print(fracCont(14))
print(fracCont(15))