Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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битном сме перемножали :)




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
3-22573           kolonist              2002-03-17 12:03  2002.04.08  
Как совладать с Index out of date или Index read only?


7-22854           Pasha                 2001-09-21 15:44  2002.04.08  
Порты в Win2000


14-22839          BJValentine           2002-02-25 10:40  2002.04.08  
Help


1-22720           новенький в Делфи     2002-03-25 10:26  2002.04.08  
Задержка программы


14-22833          Sks                   2002-02-28 09:45  2002.04.08  
Win API