Реализуйте рекурсивный алгоритм для вычисления квадратного корня числа - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д