Quay lại danh sách thử thách
Trung bình 0 đã giải Tỷ lệ chấp nhận 0%

Lũy thừa số thực với số mũ phân số

Tính lũy thừa của một số thực dương với số mũ hữu tỉ.

Bạn sẽ học được gì

  • Biến số mũ hữu tỉ thành căn và lũy thừa
  • Dùng phép toán số thực an toàn
  • Xử lý số mũ đã rút gọn và số mũ âm

Đề bài

Xem bản gốc (English)

Số mũ là numerator / denominator. Tính base_value lũy thừa số mũ đó và trả về kết quả là số thực. Ví dụ, số mũ 1/3 sẽ cho ra căn bậc ba dương.

Cài đặt hàm real_to_rational_power(base_value, numerator, denominator).

Đầu vào

base_value: Cơ số dương.

numerator: Tử số của số mũ.

denominator: Mẫu số của số mũ.

Đầu ra

Trả về base_value lũy thừa numerator / denominator.

Ràng buộc

0.1 ≤ base_value ≤ 100, với tối đa hai chữ số thập phân. −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10. Đáp án được chấp nhận nếu sai số tuyệt đối hoặc tương đối không quá 0.000001.

Ví dụ

Ví dụ 1
Đầu vào:
numerator = 1
base_value = 8.0
denominator = 3

Kết quả mong đợi:
expected = 2.0
Đầu vào:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;

Kết quả mong đợi:
double expected = 2.0;
Đầu vào:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;

Kết quả mong đợi:
double expected = 2.0;

Giải thích

2 × 2 × 2 = 8, nên căn bậc ba của 8 là 2.

Ví dụ 2
Đầu vào:
numerator = -1
base_value = 16.0
denominator = 2

Kết quả mong đợi:
expected = 0.25
Đầu vào:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;

Kết quả mong đợi:
double expected = 0.25;
Đầu vào:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;

Kết quả mong đợi:
double expected = 0.25;

Giải thích

Căn bậc hai của 16 là 4, và số mũ âm lấy nghịch đảo, tức là 1/4.

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

Trước hết, đổi phân số số mũ thành một số mũ thực duy nhất.

Gợi ý 2

Sau đó nâng cơ số dương bằng phép lũy thừa số thực.

Gợi ý 3

Đảm bảo số mũ âm tạo ra nghịch đảo, và tránh nhầm lẫn với căn bậc phân số.

Độ 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.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.