Написать программу, которая возводит число в степень. Учесть отрицательные степени.

0 голосов
50 просмотров

Написать программу, которая возводит число в степень. Учесть отрицательные степени.


Информатика (14 баллов) | 50 просмотров
Дан 1 ответ
0 голосов

// Программа на паскале
var
  base, pow: real;
begin
  write('Введите число: ');
  read(base);
  write('Введите степень: ');
  read(pow);
  writeln(exp(ln(base)*pow));
end.

(13.3k баллов)
0

Догадываетесь, какой результат даст программа при возведении -5 в квадрат?

0

Да, забыл взять основание по модулю

0

writeln(exp(ln(abs(base))*pow));

0

Это если степень целая и четная. А если целая и нечетная? Тогда минус сохраняется.

0

var
base: real;
pow: integer;
begin
write('Введите число: ');
read(base);
write('Введите степень: ');
read(pow);
if (base < 0) and odd(pow) then writeln(-exp(ln(abs(base))*pow))
else writeln(exp(ln(abs(base))*pow))
end.

0

Можно просто умножить возведенный в степень модуль на sign() от основания.

0

Тогда для примера -5 2 будет -25

0

Логично))) ПризнаЮ - неправ, поспешил.