Кодинг
★ Рубрика: Кодинг
★ Тема: Pascal

Кубический корень на Паскале

Проблема в том, что специальной функции для кубического корня в Паскале нет. Поэтому приходится выкручиваться через логарифмы. А логарифмы нравятся не всем. Точнее, почти всем не нравятся. Мы просто воспользуемся формулой:
\[\sqrt[3]{x}=exp\left(\frac{1}{3}lnx\right)\]
, а также тем, что корень кубический функция не четная и можно минус выносить из под знака корня для того, чтобы не пришлось вычислять логарифм отрицательного числа. Ниже приведен код программы.
program TryRoot3;
function Root3(X: Real): Real;
begin
 if X = 0.0 then
 Root3 := 0.0
 else if X > 0.0 then
 Root3 := Exp(Ln(X) / 3)
 else
 Root3 := -Exp(Ln(-X) / 3)
end;

begin
 WriteLn(Root3(27.0):0:0, ' ', Root3(-8.0):0:0, ' ', Root3(0.0):0:0);
 { 3 -2 0 }
end.
 Похожие публикации: Pascal

Войдите, чтобы добавить Ваш ответ. [ Регистрация | Вход ]