Извлечь квадратный корень из числа типа decimal - C#

Узнай цену своей работы

Формулировка задачи:

Возникла необходимость работать с типом decimal. Но sqrt вот с ним не работает. Не подскажете, как извлечь квадратный корень в числа такого типа?

Решение задачи: «Извлечь квадратный корень из числа типа decimal»

textual
Листинг программы
  1. // x - a number, from which we need to calculate the square root
  2. // epsilon - an accuracy of calculation of the root from our number.
  3. // The result of the calculations will differ from an actual value
  4. // of the root on less than epslion.
  5. public static decimal Sqrt(decimal x, decimal epsilon = 0.0M)
  6. {
  7.     if (x < 0) throw new OverflowException("Cannot calculate square root from a negative number");
  8.  
  9.     decimal current = (decimal)Math.Sqrt((double)x), previous;
  10.     do
  11.     {
  12.         previous = current;
  13.         if (previous == 0.0M) return 0;
  14.         current = (previous + x / previous) / 2;
  15.     }
  16.     while (Math.Abs(previous - current) > epsilon);
  17.     return current;
  18. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы