Volver a los desafíos
Intermedio 0 resueltos 0% de aceptación

Eleva un Número a una Potencia Fraccionaria

Eleva un número real positivo a un exponente racional.

Lo que aprenderás

  • Convertir un exponente racional en raíz y potencia
  • Usar cálculos en coma flotante con seguridad
  • Manejar exponentes simplificados y negativos

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

Ejemplo 1
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.

Ejemplo 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.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Primero convierte la fracción del exponente en un único exponente real.

Pista 2

Luego eleva la base positiva usando una operación de potencia real.

Pista 3

Asegúrate de que los exponentes negativos produzcan recíprocos, y evita errores con raíces fraccionarias.

Complejidad esperada

tiempo O(1), espacio extra O(1)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.