Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 16:06   #1
Маришка_Курносова
Пользователь
 
Регистрация: 01.07.2010
Сообщений: 24
По умолчанию Си/Си++ Возведение в спепень (так сказать нестандартное)

Возвести заданное вещественное число А в целую степень К, не пользуясь операцией возведения в степень и не производя (К-1) умножений и многократного слежения( так как К велико).
Рекомендация. Сокращение числа умножений может быть достигнуто применением «индийского алгоритма» - по рекуррентной формуле:

X^n = {x, если n = 1; (x^(n*mod2))(x^n*div2)^2, если n>1.


Сама мало понимаю как это должно происходить.

в поиске искала, не нашла((

P.S. буду благодарна за подсказки к решению или готовые варианты ответов, даже если не на Си. Заранее спасибо. Ребят, если можно, поскорее, пожалуйста.
Маришка_Курносова вне форума Ответить с цитированием
Старый 10.09.2010, 16:21   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
 int power(t,n);
      int t,n;
      {
int p=1;
         while(n!=0) 
   {
if(n%2 !=0) p=p*t;
n=n/2;
t=t*t; 
   }
return(p);
}
Код:
{индийский  алгоритм на Паскале}

function pow(x,n:integer):integer;
	var t:integer;
begin
	if odd(n) then t:=x else t:=1;
	if n=1 then pow:=x else pow:=t*sqr(pow(x,n div 2))
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 10.09.2010 в 16:43.
Mad_Cat вне форума Ответить с цитированием
Старый 10.09.2010, 16:25   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Возвести заданное вещественное число А в целую степень К
Си нет в наличии но общепринятая формула: Exp(K*ln(A)) - Exp - это экспонента в степени.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нестандартное закрашивание DBGrid Kisma БД в Delphi 4 16.02.2010 21:26
Нестандартное включение ПК Bat{CMD}_Men Операционные системы общие вопросы 1 24.08.2009 17:04
Нестандартное PopupMenu Crivel Помощь студентам 6 12.08.2008 19:32
Не знаю как и сказать... Старовъръ Общие вопросы Delphi 4 29.06.2008 09:23