Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисление С в степени N с минимальным количеством умножений [D6]


Страницы:   1 2

Студент:( ©   (2005-09-24 01:28:00) 

Господа програмисты, помогите плиз
Срочно необходимо такую вещь в универ:
реализовать программу в которую вводится целых числа C и N
необходимо вычислить С в степени N используя минимальное число операций умножения
Если не совсем ясно высказался:
Если c=2 n=7
то лучшее это
c:=c*c;
c:=c*c;
c:=c*c;
c:=c/2;

(естесно не в таком виде, с if, for и самым простым я знаком)

Очень прошу помочь, желательно напишите готовый код в виде консольного приложения, а то я разбираюсь плохо... а сделать надо


jack128   (2005-09-24 22:57:00) [21]

Без единого умножения
Result := Exp(Ln(C)*abs(N));
if N < 0 then
 Result := 1 / Result;


incolex   (2005-09-24 22:50:00) [22]

// Lamer@fools.ua ©   (24.09.05 01:55) [2]

Ты конечно хитрец :-) но зачемже пудрить мозги человеку, зачем расписывать существующую функцию {IntPower (X: Extended; Y: Integer ): Extended;} (хотя в Delphi она написана на ASM), кстати эта ф-ция возводит число только в цлочисленную степень, а вот к примеру, {Power ( X, Y: Extended ): Extended;} - возводит вдробную степень.


Lamer@fools.ua   (2005-09-24 01:55:00) [23]

function IntPower(X: Cardinal; Y: Cardinal): Int64;
begin
 Result := 1;
 while Y > 0 do
 begin
   while not Odd(Y) do
   begin
     Y := Y div 2;
     X := Sqr(X);
   end;
   Dec(Y);
   Result := Result * X;
 end;
end;


Германн   (2005-09-24 01:47:00) [24]

Я лично не понял связку "D6 в сабже" и  "минимальное число операций умножения". Причем нет никаких упоминаний об ASM?

Хотя, кто их знает! Нынешних преподов т.е.!

Да! Хотя еще неизвестно о каком предмете универа идет речь.
Я то об алгоритмах программирования.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо