Đề bài
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.
Ràng buộc
1 ≤ numerator, denominator ≤ 100. −6 ≤ power ≤ 6, with at most two decimal places. Answers are accepted within absolute or relative error 0.000001.
Ví dụ
Đầu vào:
power = 0.5
numerator = 9
denominator = 4
Kết quả mong đợi:
expected = 1.5
Đầu vào:
double power = 0.5;
long long numerator = 9;
long long denominator = 4;
Kết quả mong đợi:
double expected = 1.5;
Đầu vào:
double power = 0.5;
long numerator = 9;
long denominator = 4;
Kết quả mong đợi:
double expected = 1.5;
Giải thích
An exponent of 0.5 takes the positive square root: √(9/4) = 3/2 = 1.5.
Đầu vào:
power = -1.0
numerator = 2
denominator = 5
Kết quả mong đợi:
expected = 2.5
Đầu vào:
double power = -1.0;
long long numerator = 2;
long long denominator = 5;
Kết quả mong đợi:
double expected = 2.5;
Đầu vào:
double power = -1.0;
long numerator = 2;
long denominator = 5;
Kết quả mong đợi:
double expected = 2.5;
Giải thích
The exponent −1 takes the reciprocal: 5/2 = 2.5.
Hướng tiếp cận
Hãy tự thử trước, sau đó mở từng gợi ý một.
Gợi ý 1
Treat the fraction as one positive real value before applying the exponent.
Gợi ý 2
Use floating-point exponentiation directly, since the answer is approximate.
Gợi ý 3
Be careful with negative and fractional-looking exponents, and keep enough precision for the tolerance.
Độ phức tạp mong đợi
O(1) time, O(1) extra space
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.