Математика за методом корня Вавилонского квадрата [закрыто]

Я прочитал метод для вычисления квадратного корня любого числа и алгоритм выглядит следующим образом:

double findSquareRoot(int n) {
    double x = n;
    double y = 1;
    double e = 0.00001;
    while(x-y >= e) {
        x = (x+y)/2;
        y = n/x;
    }
    return x;
}

Мой вопрос относительно этого метода

Как рассчитывается квадратный корень? Я не понимал математику за этим. Какx=(x+y)/2 and y=n/x сходится к квадратному корню из п. Объясните эту математику.

В чем сложность этого алгоритма?

Ответы на вопрос(4)

Ваш ответ на вопрос