К списку задач
Средне Решено: 0 Процент решений: 0%

Возведение числа в дробную степень

Возведите положительное вещественное число в рациональную степень.

Чему вы научитесь

  • Представлять рациональный показатель как корень и степень
  • Безопасно использовать вычисления с плавающей точкой
  • Обрабатывать сокращённые и отрицательные показатели

Условие

Показатель степени задаётся как numerator / denominator. Возведите base_value в эту степень и верните вещественный результат. Например, показатель степени 1/3 даёт положительный кубический корень.

Реализуйте функцию real_to_rational_power(base_value, numerator, denominator).

Входные данные

base_value: Положительное основание.

numerator: Числитель степени.

denominator: Знаменатель степени.

Выходные данные

Верните base_value, возведённое в степень numerator / denominator.

Ограничения

0.1 ≤ base_value ≤ 100, не более двух знаков после запятой. −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10. Ответы принимаются с абсолютной или относительной погрешностью не более 0.000001.

Примеры

Пример 1
Ввод:
numerator = 1
base_value = 8.0
denominator = 3

Ожидаемый вывод:
expected = 2.0
Ввод:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;

Ожидаемый вывод:
double expected = 2.0;
Ввод:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;

Ожидаемый вывод:
double expected = 2.0;

Пояснение

2 × 2 × 2 = 8, значит, кубический корень равен 2.

Пример 2
Ввод:
numerator = -1
base_value = 16.0
denominator = 2

Ожидаемый вывод:
expected = 0.25
Ввод:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;

Ожидаемый вывод:
double expected = 0.25;
Ввод:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;

Ожидаемый вывод:
double expected = 0.25;

Пояснение

Квадратный корень из 16 равен 4, а отрицательная степень берёт обратное значение, 1/4.

Как подступиться

Сначала попробуйте сами, затем открывайте подсказки по одной.

Подсказка 1

Сначала превратите дробную часть показателя в один вещественный показатель.

Подсказка 2

Затем возведите положительное основание в степень как вещественное число.

Подсказка 3

Убедитесь, что отрицательные показатели дают обратные значения, и не ошибайтесь с дробными корнями.

Ожидаемая сложность

время O(1), доп. память O(1)

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.