// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var a:=ReadReal('Введите число a:'); var n:=ReadInteger('Введите показатель степени n:'); if n<=0 then begin Writeln('Показатель степени должен быть натуральным числом'); Exit end; // перевод показателя степени в двоичную систему счисления var t:=n; var r:string:=''; while t>=2 do (r,t):=(t mod 2+r,t shr 1); r:=t+r; // возведение в степень var (rr,i):=(a,2); while i<=r.Length do begin rr:=Sqr(rr); if r[i]='1' then rr*=a; i+=1 end; Writeln(a,'^',n,' = ',rr) end.
Примеры Введите число a: 3.182 Введите показатель степени n: 11 3.182^11 = 338611.675261463
Введите число a: 2 Введите показатель степени n: 10 2^10 = 1024
X2755070
20.04.2020
Что мы знаем о войне немного по рассказам бабушек и мам знаем, что надежда и тревога об руку ходили по домам слухи зависали как знамена дымом застилался горизонт многоверстный и многоименный жаждал крови ненасытный фронт а из тыла за волной волна шла латать верховные промашкивсасывала мальчиков война и выплевывала мертвые бумажкикаждый шаг к победе ли к бедесводки измеряли расстояньем даже самый распобедный день был комуто вечным расставаньемгоды возвращающий экраночевидцев честные романывсе равно останутся обманомссадины не заменяют рантолько изредка за толщей дней вдруг всплеснёт сирены голос лютыйзамирая криками детей и застынет сердце на минуту
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadReal('Введите число a:');
var n:=ReadInteger('Введите показатель степени n:');
if n<=0 then begin
Writeln('Показатель степени должен быть натуральным числом');
Exit
end;
// перевод показателя степени в двоичную систему счисления
var t:=n;
var r:string:='';
while t>=2 do (r,t):=(t mod 2+r,t shr 1);
r:=t+r;
// возведение в степень
var (rr,i):=(a,2);
while i<=r.Length do begin
rr:=Sqr(rr);
if r[i]='1' then rr*=a;
i+=1
end;
Writeln(a,'^',n,' = ',rr)
end.
Примеры
Введите число a: 3.182
Введите показатель степени n: 11
3.182^11 = 338611.675261463
Введите число a: 2
Введите показатель степени n: 10
2^10 = 1024