Retour aux défis
Moyen 0 résolus 0 % de réussite

Raise a Fraction to a Real Power

Raise a positive fraction to a real-valued exponent.

Ce que vous allez apprendre

  • Raise a fraction to a real exponent
  • Work with floating-point results
  • Keep results within tolerance

Problème

Afficher la traduction

Interpret numerator / denominator as a positive rational number, then raise it to power. This task returns a real number rather than an exact fraction; it covers the real-exponent part of the Rational Numbers reference.

Implement rational_to_real_power(numerator, denominator, power).

Input

numerator: The positive numerator.

denominator: The positive denominator.

power: The real-valued exponent.

Output

Return (numerator / denominator) raised to power.

Contraintes

1 ≤ numerator, denominator ≤ 100. −6 ≤ power ≤ 6, with at most two decimal places. Answers are accepted within absolute or relative error 0.000001.

Exemples

Exemple 1
Entrée :
power = 0.5
numerator = 9
denominator = 4

Sortie attendue :
expected = 1.5
Entrée :
double power = 0.5;
long long numerator = 9;
long long denominator = 4;

Sortie attendue :
double expected = 1.5;
Entrée :
double power = 0.5;
long numerator = 9;
long denominator = 4;

Sortie attendue :
double expected = 1.5;

Explication

An exponent of 0.5 takes the positive square root: √(9/4) = 3/2 = 1.5.

Exemple 2
Entrée :
power = -1.0
numerator = 2
denominator = 5

Sortie attendue :
expected = 2.5
Entrée :
double power = -1.0;
long long numerator = 2;
long long denominator = 5;

Sortie attendue :
double expected = 2.5;
Entrée :
double power = -1.0;
long numerator = 2;
long denominator = 5;

Sortie attendue :
double expected = 2.5;

Explication

The exponent −1 takes the reciprocal: 5/2 = 2.5.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Treat the fraction as one positive real value before applying the exponent.

Indice 2

Use floating-point exponentiation directly, since the answer is approximate.

Indice 3

Be careful with negative and fractional-looking exponents, and keep enough precision for the tolerance.

Complexité attendue

O(1) time, O(1) extra space

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.