Back to challenges
Medium 0 solved 0% acceptance

Raise a Fraction to a Real Power

Raise a positive fraction to a real-valued exponent.

What you'll learn

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

Problem

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.

Constraints

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

Examples

Example 1
Input:
power = 0.5
numerator = 9
denominator = 4

Expected output:
expected = 1.5
Input:
double power = 0.5;
long long numerator = 9;
long long denominator = 4;

Expected output:
double expected = 1.5;
Input:
double power = 0.5;
long numerator = 9;
long denominator = 4;

Expected output:
double expected = 1.5;

Explanation

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

Example 2
Input:
power = -1.0
numerator = 2
denominator = 5

Expected output:
expected = 2.5
Input:
double power = -1.0;
long long numerator = 2;
long long denominator = 5;

Expected output:
double expected = 2.5;
Input:
double power = -1.0;
long numerator = 2;
long denominator = 5;

Expected output:
double expected = 2.5;

Explanation

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

How to approach it

Try on your own first, then open one hint at a time.

Hint 1

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

Hint 2

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

Hint 3

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

Expected complexity

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

References

This challenge is adapted for CodeUtility. Follow the statement and constraints above.

Learn from others

Community solutions

No published solutions yet. Solve this challenge to share the first one.