Форум: "Потрепаться";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
ВнизВозведение в степень в TP7.0 Найти похожие ветки
← →
Blackweber (2002-02-21 23:51) [0]В институте заставляют на Паскале(Турбо) писать лабы.Кто-нибудь знает как возводить в степень, аналог Power(x,y) в Delphi. Можно было бы сделать цикл, но степень определяется путем перемножения различных констант, и имеется в виде переменний, чем естественно не может заканчиваться цикл.
← →
VuDZ (2002-02-22 00:11) [1]http://algolist.by.ru/maths/teornum/fast_exp.html
← →
MBo (2002-02-22 06:28) [2]x^y=exp(y*ln(x))
← →
VictorT (2002-02-22 10:38) [3]2 MBo
Формула верна для положительного х.
← →
VictorT (2002-02-22 10:51) [4]Кстати Power(x,y) вроде и использует эту формулу, потому-что тоже считает только для положительного х.
← →
drpass (2002-02-22 10:55) [5]if x>0 then result:=exp(y*ln(x)) else result:=1/exp(y*ln(abs(x)));
← →
Alx2 (2002-02-22 11:25) [6]>drpass © (22.02.02 10:55)
if x>0 then ...
Не то :)
Это верно для y, но не для x.
if y>0 then result:=exp(y*ln(x)) else result:=1/exp(abs(y)*ln(x));
Хотя это условие совершенно лишнее, так как exp(-x)=1/exp(x)
Для x будет
(-x)^y=(-1)^y*abs(x)^y=(-1)^y*exp(y*ln(abs(x)))
А вот (-1)^y определено при целых y (ну и для дробных, у которых знаменатель нечетный. Естественно, не рассматриваем комплексные числа).
При x=0 - особый случай. Ответ, конечно, 0.
← →
Alx2 (2002-02-22 11:28) [7]Вдогонку:
Вот это вот
"Для x будет (-x)^y=(-1)^y*abs(x)^y=(-1)^y*exp(y*ln(abs(x)))"
Имеется в виду, что
"Для x будет (-abs(x))^y=(-1)^y*abs(x)^y=(-1)^y*exp(y*ln(abs(x)))"
Мелочь, а неприятно :))
← →
Slinker (2002-02-23 02:27) [8]Извращенцы...
← →
Anatoly Podgoretsky (2002-02-23 12:17) [9]Blackweber © (21.02.02 23:51)
Если по образцу и подобию, то кто мешает взять Power
← →
drpass (2002-02-23 21:59) [10]>Alx2
Это я сгоряча по клавиатуре ляпнул:) Ты абсолютно прав
← →
VictorT (2002-02-25 10:55) [11]>Извращенцы...
Почему?
← →
VuDZ (2002-02-25 15:40) [12]вы бы ещё два 32х битных числа на 8битном сме перемножали :)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c