Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Возведение в степень в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
1-22639
SeF
2002-03-27 02:34
2002.04.08
Tresourcestream


3-22518
Dima Kopachev
2002-03-11 20:12
2002.04.08
Непосредственный ввод значения в DBLookupComboBox


7-22860
Донской
2002-01-15 19:30
2002.04.08
Виртуальный порт


1-22744
Yuraz
2002-03-27 08:20
2002.04.08
Мастера, помогите с написанием функции удаления лишних пробелов в строке,


1-22747
Filat
2002-03-26 20:36
2002.04.08
Где взять RxLib для Delphi 6.