
15.12.2007, 16:49
|
|
Постоянный
Регистрация: 11.11.2005
Сообщений: 391
С нами:
10787366
Репутация:
2277
|
|
очень старая лаба))))) возведение в степень без использования спец функций
метод ускореного умножения
program grade;
var
y, d : integer;
S, x, z : real;
BEGIN
writeln('Введiть основу x:');
readln(x);
writeln('Введiть показник y:');
readln(y);
if (x=0) then
begin
if (y>0) then
begin
S:=0;
writeln('Результат: ',S:4:0);
end
else writeln('Значення не знайденi');
end
else
begin
d:=abs(y);
z:=x;
S:=1;
repeat
begin
if ((d mod 2)=1) then S:=S*z;
z:=z*z;
d:=d div 2;
end
until (d<=0);
if (y<0) then S:=1/S;
writeln('Результат: ',S:4:4);
end;
END.
p.s. просто пример))
|
|
|