Ваше завдання - обчислити квадратний корінь 2 за допомогою методу Ньютона - з невеликим поворотом. Ваша програма має обчислити ітерацію методом Ньютона та вивести вихідний код для наступної ітерації (яка повинна бути в змозі зробити те саме).
Метод Ньютона досить вичерпно описаний у Вікіпедії
Щоб обчислити квадратний корінь 2 методом Ньютона, ви:
- Визначте
f(x) = x^2 - 2
- Визначте
f'(x) = 2x
- Визначити
x[0]
(початкова здогадка)= 1
- Визначте
x[n+1] = x[n] - (f[n] / f'[n])
Кожна ітерація переміститься x [n] ближче до квадратного кореня з двох. Так -
x[0] = 1
x[1] = x[0] - f(x[0])/f'(x[0]) = 1 - (1 ^ 2 - 2) / (2 * 1) = 1.5
x[2] = x[1] - f(x[1])/f'(x[1]) = 1.5 - (1.5 ^ 2 - 2) / (2 * 1.5) = 1.416666667
x[3] = x[2] - f(x[2])/f'(x[1]) = 1.416666667 - (1.416666667 ^ 2 - 2) / (2 * 1.416666667) = 1.414215686
- і так далі
Ваша програма:
- Обчисліть,
x[n]
деn
кількість разів запускається програма - Виведіть вихідний код у дійсну програму тією ж мовою, яка повинна обчислити
x[n+1]
та задовольнити однакові критерії цього питання. - Перший рядок вихідного коду повинен бути результатом обчислення, правильно прокоментованим. Якщо джерело вимагає чогось конкретного (наприклад, шебанг) у першому рядку, результат може бути поставлений у другому рядку.
Зауважте, що
- Ваша програма повинна використовувати початкові здогадки
x[0] = 1
- У стандартних лазівки застосовуються
- Будь-які функції вбудованого живлення, квадратний корінь або функції xroot заборонені
- Ваша програма не повинна приймати будь-які дані. Він повинен бути повністю самостійним.
Ваш бал - це розмір початкової програми в байтах UTF-8. Виграє найнижчий бал.
x = x-(x*x-2)/(2*x)
?