โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)เลขชี้กำลังคือ numerator / denominator ให้ยก base_value ด้วยเลขชี้กำลังนี้ และคืนค่าผลลัพธ์ที่เป็นจำนวนจริง เช่น เลขชี้กำลัง 1/3 จะได้รากที่สามบวก
ให้เขียนฟังก์ชัน real_to_rational_power(base_value, numerator, denominator)
อินพุต
base_value: ฐานที่เป็นจำนวนจริงบวก
numerator: ตัวเศษของเลขชี้กำลัง
denominator: ตัวส่วนของเลขชี้กำลัง
เอาต์พุต
คืนค่า base_value ยกกำลัง numerator / denominator
เงื่อนไข
0.1 ≤ base_value ≤ 100 โดยมีทศนิยมไม่เกินสองตำแหน่ง −6 ≤ numerator ≤ 6; 1 ≤ denominator ≤ 10 คำตอบที่ยอมรับได้ต้องมีความคลาดเคลื่อนสัมบูรณ์หรือสัมพัทธ์ไม่เกิน 0.000001
ตัวอย่าง
อินพุต:
numerator = 1
base_value = 8.0
denominator = 3
ผลลัพธ์ที่คาดหวัง:
expected = 2.0
อินพุต:
long long numerator = 1;
double base_value = 8.0;
long long denominator = 3;
ผลลัพธ์ที่คาดหวัง:
double expected = 2.0;
อินพุต:
long numerator = 1;
double base_value = 8.0;
long denominator = 3;
ผลลัพธ์ที่คาดหวัง:
double expected = 2.0;
คำอธิบาย
2 × 2 × 2 = 8 ดังนั้นรากที่สามของ 8 คือ 2
อินพุต:
numerator = -1
base_value = 16.0
denominator = 2
ผลลัพธ์ที่คาดหวัง:
expected = 0.25
อินพุต:
long long numerator = -1;
double base_value = 16.0;
long long denominator = 2;
ผลลัพธ์ที่คาดหวัง:
double expected = 0.25;
อินพุต:
long numerator = -1;
double base_value = 16.0;
long denominator = 2;
ผลลัพธ์ที่คาดหวัง:
double expected = 0.25;
คำอธิบาย
รากที่สองของ 16 คือ 4 และเลขชี้กำลังติดลบจะกลับเศษส่วนเป็น 1/4
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน