Вычислить корень кубический суммы двух заданных вещественных чисел a и b. Паскаль!!!

0 голосов
56 просмотров

Вычислить корень кубический суммы двух заданных вещественных чисел a и b. Паскаль!!!


Информатика (15 баллов) | 56 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Тут имеется один "подвох" и на него часто ловятся.
Можно воспользоваться функций Power для возведения в степень 1/3, либо применить известную формулу \displaystyle a^x=e^{x\ln a}
Но в обоих случаях используется (явно или скрыто) вычисление логарифма. А мы помним, что логарифм определен только для положительного аргумента.
По заданию нужно найти кубический корень из a+b. И этот корень определен для любого вещественного числа, в отличии от логарифма.
Вспоминаем:
\displaystyle \sqrt [3]x=\left. \left\{\begin{matrix}
-\sqrt[3]{|x|}, &x\ \textless \ 0\\ 0, & x=0 \\ \sqrt [3]x, &x\ \textgreater \ 0 \end{matrix}\right.
\right| \qquad \sqrt [3]x=sign(x)\times\sqrt[3]{|x|}

И только теперь можно писать программу.

// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a,b,c:real; Read(a,b);
  c:=a+b;
  Writeln(sign(c)*power(abs(c),1/3))
end.

Примеры
14.283 -32.17
-2.61524573390822

13.183 -13.183
0

(150k баллов)
0

Спасибо)

0

чего-то не выходит