итак, данный алгоритм основан на том, что:
a^p = a^p-1 * a;
a^p = (a^p/2)^2, если p = 2;
Собственно тогда все очень просто
Также эту функцию можно использовать для возведения очень больших чисел в степень, но тогда необходимо немного изменить код.
a^p = a^p-1 * a;
a^p = (a^p/2)^2, если p = 2;
Собственно тогда все очень просто
- Код:
Function Power(a, p: integer): integer;
Begin
if p = 0 then
begin
power := 1;
exit;
end;
if p mod 2 = 0 then
power := sqr(power(a, p div 2))
else
power := power(a, p - 1) * a;
end;
Также эту функцию можно использовать для возведения очень больших чисел в степень, но тогда необходимо немного изменить код.
Ср Окт 12, 2016 2:43 am автор SeriousPasha
» требуется несколько JS разработчиков
Пт Окт 07, 2016 10:19 pm автор mrktwn1
» Защита приложения от взлома
Чт Июн 18, 2015 10:28 pm автор stradi
» Ищите программиста или дизайнера?
Пт Мар 27, 2015 6:25 am автор фриланс
» Создание и продвижение сайтов, их развитие.
Ср Мар 25, 2015 12:40 am автор asdfghhgfdsa
» Исходники для студентов + скайп-консультации,помощь в написании программ
Вт Окт 07, 2014 11:25 pm автор Horpion
» IT- технологии для развития бизнеса
Пн Июн 23, 2014 6:11 pm автор dvos12
» Стенли Кубрик "С Широко закрытыми Глазами"
Чт Июн 12, 2014 2:01 am автор Vertuozzz
» Каталог популярных хостинг компаний
Сб Май 10, 2014 7:18 pm автор naik