Вопрос по информатике:
Написать программу возведения числа a в степень n.С циклом repeat или while.Даю 65 баллов
- 27.03.2017 20:45
- Информатика
- remove_red_eye 2140
- thumb_up 12
Ответы и объяснения 1
// Внимание! Если программа не работает, обновите версию!
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
- 28.03.2017 12:33
- thumb_up 38
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.