Вычислить корень кубический суммы двух заданных вещественных чисел a и b. Паскаль!!!
Вычислить корень кубический суммы двух заданных вещественных чисел a и b. Паскаль!!!
Ответ(ы) на вопрос:
Гость
Тут имеется один "подвох" и на него часто ловятся.
Можно воспользоваться функций Power для возведения в степень 1/3, либо применить известную формулу [latex]\displaystyle a^x=e^{x\ln a}[/latex]
Но в обоих случаях используется (явно или скрыто) вычисление логарифма. А мы помним, что логарифм определен только для положительного аргумента.
По заданию нужно найти кубический корень из a+b. И этот корень определен для любого вещественного числа, в отличии от логарифма.
Вспоминаем:
[latex]\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|}[/latex]
И только теперь можно писать программу.
// 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
Не нашли ответ?
Похожие вопросы