Реализуйте рекурсивный алгоритм для вычисления квадратного корня числа - C#
Формулировка задачи:
Вот задание:
Реализуйте рекурсивный алгоритм для вычисления квадратного корня числа. в качестве исходных данных используйте тройку чисел N, A, E, где N -число, из которого требуется извлечь квадратный корень, A -приближенное значение корня, E- допустимая ошибка результата.
Вот код:
Выдает ошибку StackOverflowException
{ class Programm { public static double root(double N, double A, double E) { if (Math.Abs(Math.Pow(A, 2) - N) < E) { return A; } else { return root(N, (Math.Pow(A, 2) + N) / 2 * A, E); } } public static void Main(string[] args) { Console.WriteLine("Введите N"); double N = double.Parse(Console.ReadLine()); Console.WriteLine("Введите E"); double E = double.Parse(Console.ReadLine()); Console.WriteLine("Введите A"); double A = double.Parse(Console.ReadLine()); double x = root(N, A, E); Console.WriteLine(x); Console.ReadKey(); } } }
Решение задачи: «Реализуйте рекурсивный алгоритм для вычисления квадратного корня числа»
textual
Листинг программы
return root(N, (Math.Pow(A, 2) + N) / (2 * A), E);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д