Algorytm Newtona-Raphsona oblicza przybliżenie pierwiastka kwadratowego stosując wzór
rekurencyjny x_{n+1}=\frac{1}{2}\cdot \left(x_n+\frac{a}{x_n}\right),
czyli każde kolejne przybliżenie pierwiastka z liczby a obliczamy jako średnia arytmetyczna
przybliżenia poprzedniego i odwrotności tego przybliżenia pomnożonej przez liczbę podpierwiastkową
a.
Za pierwsze przybliżenie można przyjąć dowolną dodatnią liczbę rzeczywistą.
Obliczanie kolejnych przybliżeń możemy przerwać po osiągnięciu żadanej dokładności, czyli np. gdy \left|x_{n}^2-a\right|< e, gdzie e jest pewną niedużą stałą.
Napisz program, który dla podanej dokładności wyznaczy przybliżenie pierwiastka kwadratowego z liczby nieujemnej.
Pierwszy wiersz wejścia zawiera liczbę całkowitą a, pierwsze przybliżenie całkowite x1 oraz liczbę rzeczywistą e będącą dokładnością.
W pierwszym wierszu wyjścia zapisz wyznaczone przybliżenie liczby
\sqrt{a} z dokładnością do 10 miejsc po przecinku.
W wierszu drugim numer ostatniego obliczonego przybliżenia przyjmując, że pierwsze
przybliżenie ma numer 1.
Dla danych podanych na wejściu:
39 42 0.000846527191
Poprawną odpowiedzią jest wyjście:
6.244998057170 7
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :