Vieux traité de mathématiques

Plongé dans de vieux livres à la bibliothèque vous tombez sur un vieux traité de mathématiques dans lequel se trouve le texte suivant :

Il y a un nombre et on veut trouver un autre nombre qu'on peut multiplier par lui-même pour avoir le premier nombre. Prendre la valeur 1. Ajouter l'un à l'autre cette valeur et le premier nombre divisé par cette valeur. Prendre la moitié du résultat. Répéter jusqu'à ce que la valeur multipliée par elle-même soit assez proche du premier nombre.

Autrement dit, il s'agit de calculer de manière approximée la racine carrée d'un nombre $A$ en utilisant la suite de valeurs suivantes :

  • $x_0=1$,
  • $x_{n+1}=\frac{1}{2}\left(x_n+\frac{A}{x_n}\right)$.

Et on s'arrête quand

$$\left|x_n^2 - A \right| \leq p$$

avec $p$ la précision souhaitée.

Vous décidez de tester cet algorithme en pratique.

Entrée

Sur la première ligne, le décimal $A$ dont il faut calculer la racine carrée approchée.

Sur la seconde ligne, le décimal $p$, la précision que l'on souhaite utiliser.

Sortie

Vous devez afficher chacune des différentes valeurs approchées de la racine carrée données par l'algorithme jusqu'à ce qu'elles soient assez proches de la bonne valeur, selon le critère donné ci-dessus.

Exemples

Exemple 1

entrée :

100.0
1.0

sortie :

1.0
50.5
26.2400990099
15.02553012
10.840434673
10.032578511

Exemple 2

entrée :

100.0
0.0001

sortie :

1.0
50.5
26.2400990099
15.02553012
10.840434673
10.032578511
10.0000528956
10.0000000001

Source : https://www.france-ioi.org/