Đề bài
Diễn giải numerator / denominator là một số hữu tỉ dương, sau đó nâng lên lũy thừa power. Bài toán này trả về một số thực thay vì phân số chính xác; nó liên quan đến phần số mũ thực trong tài liệu tham khảo về Số hữu tỉ.
Cài đặt hàm rational_to_real_power(numerator, denominator, power).
Đầu vào
numerator: Tử số dương.
denominator: Mẫu số dương.
power: Số mũ thực.
Đầu ra
Trả về (numerator / denominator) được nâng lên lũy thừa power.
Ràng buộc
1 ≤ numerator, denominator ≤ 100. −6 ≤ power ≤ 6, với tối đa hai chữ số thập phân. Đáp án được chấp nhận nếu sai số tuyệt đối hoặc tương đối không vượt quá 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
Số mũ 0.5 lấy căn bậc hai dương: √(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
Số mũ −1 lấy nghịch đảo: 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
Hãy xem phân số như một giá trị thực dương trước khi áp dụng số mũ.
Gợi ý 2
Dùng trực tiếp phép lũy thừa số thực, vì đáp án chỉ là gần đúng.
Gợi ý 3
Cẩn thận với số mũ âm và số mũ dạng phân số, và giữ đủ độ chính xác cho sai số cho phép.
Độ phức tạp mong đợi
thời gian O(1), bộ nhớ phụ O(1)
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.