Problema
Ver original (inglés)El exponente es numerator / denominator. Eleva base_value a ese exponente y devuelve el resultado real. Por ejemplo, un exponente de 1/3 da la raíz cúbica positiva.
Implementa real_to_rational_power(base_value, numerator, denominator).
Entrada
base_value: La base positiva.
numerator: El numerador del exponente.
denominator: El denominador del exponente.
Salida
Devuelve base_value elevado a numerator / denominator.
Restricciones
0.1 ≤ base_value ≤ 100, con hasta dos decimales. −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10. Las respuestas se aceptan con un error absoluto o relativo de 0.000001.
Ejemplos
Entrada:
numerator = 1
base_value = 8.0
denominator = 3
Salida esperada:
expected = 2.0
Entrada:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;
Salida esperada:
double expected = 2.0;
Entrada:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;
Salida esperada:
double expected = 2.0;
Explicación
2 × 2 × 2 = 8, así que la raíz cúbica es 2.
Entrada:
numerator = -1
base_value = 16.0
denominator = 2
Salida esperada:
expected = 0.25
Entrada:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;
Salida esperada:
double expected = 0.25;
Entrada:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;
Salida esperada:
double expected = 0.25;
Explicación
La raíz cuadrada de 16 es 4, y el exponente negativo toma su recíproco, 1/4.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.