Problema
Interpreta numerator / denominator come un numero razionale positivo, quindi elevato a una potenza. Questo esercizio restituisce un numero reale invece di una frazione esatta; riguarda la parte degli esponenti reali nella sezione dei Numeri Razionali.
Implementa rational_to_real_power(numerator, denominator, power).
Input
numerator: Il numeratore positivo.
denominator: Il denominatore positivo.
power: L'esponente reale.
Output
Restituisci (numerator / denominator) elevato a power.
Vincoli
1 ≤ numerator, denominator ≤ 100. −6 ≤ power ≤ 6, con al massimo due cifre decimali. Le risposte sono accettate con un errore assoluto o relativo massimo di 0.000001.
Esempi
Input:
power = 0.5
numerator = 9
denominator = 4
Output atteso:
expected = 1.5
Input:
double power = 0.5;
long long numerator = 9;
long long denominator = 4;
Output atteso:
double expected = 1.5;
Input:
double power = 0.5;
long numerator = 9;
long denominator = 4;
Output atteso:
double expected = 1.5;
Spiegazione
Un esponente di 0.5 calcola la radice quadrata positiva: √(9/4) = 3/2 = 1.5.
Input:
power = -1.0
numerator = 2
denominator = 5
Output atteso:
expected = 2.5
Input:
double power = -1.0;
long long numerator = 2;
long long denominator = 5;
Output atteso:
double expected = 2.5;
Input:
double power = -1.0;
long numerator = 2;
long denominator = 5;
Output atteso:
double expected = 2.5;
Spiegazione
L'esponente −1 calcola il reciproco: 5/2 = 2.5.
Come affrontarlo
Prova prima da solo, poi apri un suggerimento alla volta.
Suggerimento 1
Tratta la frazione come un unico valore reale positivo prima di applicare l’esponente.
Suggerimento 2
Usa direttamente l’elevamento a potenza in floating-point, perché la risposta è approssimata.
Suggerimento 3
Fai attenzione agli esponenti negativi e a quelli che sembrano frazionari, e mantieni abbastanza precisione per la tolleranza.
Complessità attesa
tempo O(1), spazio aggiuntivo O(1)
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.