Вопрос на засыпку! Возведение в степень.

Модератор: Модераторы разделов

Аватара пользователя
Alagert
Сообщения: 167

Вопрос на засыпку! Возведение в степень.

Сообщение Alagert »

Чуваки такая проблема: мне нужно число возвести в рациональню степень.
Например 29 возвести в степень 1/3.
Все это дела пишем на С.
Если сеть предложения - пишите!
Born to be ROOT
Спасибо сказали:
Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Bolverk »

Хм-хм.

Код: Выделить всё

a^b = exp(b*log(a))
Спасибо сказали:
Аватара пользователя
Alagert
Сообщения: 167

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Alagert »

Большое спасибо.
Ты спас мой курсовик.
Born to be ROOT
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Warderer »

Математику в школе проходить перестали... :(
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
Аватара пользователя
nercus
Сообщения: 150

Re: Вопрос на засыпку! Возведение в степень.

Сообщение nercus »

А при чем тут математика:)? Есть же специальная функция pow() - в принципе, работает по этой же формуле, но еще (по идее, по posix) обрабатывает ситуации x^0, возведение отрицательных чисел в целую степень, etc...
2.6.14-gentoo-r5
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
Спасибо сказали:
Аватара пользователя
Warderer
Модератор
Сообщения: 1056
Статус: киберпИнгвин на гусеничном ходу
ОС: Debian unstable

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Warderer »

Математика тут при том, что человек вместо того, чтобы вспомнить, что экспонента от логарифма умноженного на число дает возведение в степень этого числа, полез на форум.
Читаю вслух с выражением маны - $50/ч + стоимость звонка. Настраиваю сервисы за Вас - $100/ч + стоимость выезда и проживания.
И восемь строк матом...(бесплатно)
Спасибо сказали:
Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Bolverk »

Математика тут действительно не причем, с точки зрения математики не имеет смысла заменять возведение в степень такой вот конструкцией. А вот информатика очень причем.
Просто нам в рамках курса информатики рассказывали как "на самом" деле считаются всякие функции внутри компьютера. В частности, для возведения в степень была именно такая форма. Вообще была интересная постановка задачи - стартуя от арифметических действий (+,-,*,/), сконструировать все элементарные функции. А вам слабо?
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

Re: Вопрос на засыпку! Возведение в степень.

Сообщение flook »

Нет не слабо. Взять да ряд просуммировать :)
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
Alagert
Сообщения: 167

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Alagert »

Знаете матем мы не перестали изучать. Я даже имею стабильную 5 по вышке в своем универе. И формулу это я хорошо знал, именно так предполагал это сделать на бумаге. Но я просто не знал о существовании функции exp(); вот тут признаю лоханулся.
А курсвик пишу на тему: Детерменические тесты на простоту.
Born to be ROOT
Спасибо сказали:
Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Bolverk »

Для flook:
Какой ряд? ;) И как ты его собираешься суммировать если он бесконечный? :D
Спасибо сказали:
Аватара пользователя
nercus
Сообщения: 150

Re: Вопрос на засыпку! Возведение в степень.

Сообщение nercus »

(Bolverk @ Пятница, 03 Декабря 2004, 21:01) писал(а):Для flook:
Какой ряд? ;)  И как ты его собираешься суммировать если он бесконечный? :D

Ну, вообще-то, flook отчасти прав:) Бесконечный - это в теории, а на практике хватает до 6-7го элемента (для double). И очень многие функции реализуются именно через ряд. Если у вас есть другие предложения, то просим:) Лично мне было бы интересно на них посмотреть (хотя, все зависит от самой функции, опять же).

Другое дело, что простым представлением в виде ряда не обойтись. И на то есть 4 причины - overflow, underflow, precision, performance. Вот, к примеру, простое, казалось бы, выражение sqrt(x*x + y*y) даже имея функцию sqrt() требует кое-каких манипуляций :)
2.6.14-gentoo-r5
kde-3.5.0 | openbox-3.2
Deep Purple | Rob Zombie | Led Zeppelin | ДДТ
Спасибо сказали:
Аватара пользователя
Alagert
Сообщения: 167

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Alagert »

Действительно любою функции при компьютерных вычислениях лучше всего разложить в степенной ряд. А уж почленно продиффиринцировать или проинтегрировать, учитывая что разрядная сетка ограничена, легче именно ряд. И намного точнее получиться.
Born to be ROOT
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Вопрос на засыпку! Возведение в степень.

Сообщение t.t »

(Bolverk @ Пятница, 03 Декабря 2004, 21:01) писал(а):Какой ряд?
Тейлора.
(Bolverk @ Пятница, 03 Декабря 2004, 21:01) писал(а):И как ты его собираешься суммировать если он бесконечный?
А машинная точность тоже бесконечная, да?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Alagert
Сообщения: 167

Re: Вопрос на засыпку! Возведение в степень.

Сообщение Alagert »

А я этот тест написал. Хотите выложу на всеобщее пинание. :new_megalol:
Born to be ROOT
Спасибо сказали: