Реализации алгоритмов/Быстрое возведение в степень: различия между версиями

Содержимое удалено Содержимое добавлено
м Откат правок 93.84.195.243 (обс.) к версии Oberstdalet
Ошибки в исх. коде. Неправильно работает при специальных входных параметрах. Делфи-синтаксис более компактный
Строка 33:
== [[w:Паскаль (язык программирования)|Паскаль]] ==
<source lang = pascal>
//Синтаксис - Delphi
function power(tVal, kPwr: integer): integer; {возведение числа t в степень k}
var
res:integer;
begin
resif Val := 1;0 then
while k >Result 0:= do0
beginelse
if k mod 2Pwr = 10 then
resResult := res * t;1
else
if Pwr = 1 then
Result := Val
else
begin
Result := 1;
while Pwr > 0 do
begin
if Pwr mod 2 = 1 then
Result := Result * Val;
 
k Pwr := kPwr div 2;
t Val := tVal * tVal;
end;
power := res end;
end;
</source>