Problema
Ver original (inglês)O expoente é numerator / denominator. Eleve base_value a esse expoente e retorne o resultado real. Por exemplo, um expoente de 1/3 retorna a raiz cúbica positiva.
Implemente real_to_rational_power(base_value, numerator, denominator).
Entrada
base_value: A base positiva.
numerator: O numerador do expoente.
denominator: O denominador do expoente.
Saída
Retorne base_value elevado a numerator / denominator.
Restrições
0,1 ≤ base_value ≤ 100, com no máximo duas casas decimais. −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10. As respostas são aceitas com erro absoluto ou relativo de até 0,000001.
Exemplos
Entrada:
numerator = 1
base_value = 8.0
denominator = 3
Saída esperada:
expected = 2.0
Entrada:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;
Saída esperada:
double expected = 2.0;
Entrada:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;
Saída esperada:
double expected = 2.0;
Explicação
2 × 2 × 2 = 8, então a raiz cúbica é 2.
Entrada:
numerator = -1
base_value = 16.0
denominator = 2
Saída esperada:
expected = 0.25
Entrada:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;
Saída esperada:
double expected = 0.25;
Entrada:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;
Saída esperada:
double expected = 0.25;
Explicação
A raiz quadrada de 16 é 4, e o expoente negativo toma seu recíproco, 1/4.
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.