// 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: 113.182^11 = 338611.675261463Введите число a: 2Введите показатель степени n: 102^10 = 1024