โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)ให้ตีความ numerator / denominator เป็นจำนวนตรรกยะบวก แล้วนำไปยกกำลัง power งานนี้จะคืนค่าจำนวนจริง ไม่ใช่เศษส่วนที่แน่นอน โดยครอบคลุมกรณีเลขชี้กำลังจริงตามหัวข้ออ้างอิง Rational Numbers
ให้เขียนฟังก์ชัน rational_to_real_power(numerator, denominator, power)
อินพุต
numerator: ตัวเศษที่เป็นจำนวนเต็มบวก
denominator: ตัวส่วนที่เป็นจำนวนเต็มบวก
power: เลขชี้กำลังที่เป็นจำนวนจริง
เอาต์พุต
คืนค่า (numerator / denominator) ยกกำลัง power
เงื่อนไข
1 ≤ numerator, denominator ≤ 100 −6 ≤ power ≤ 6 โดย power มีทศนิยมไม่เกินสองตำแหน่ง ผลลัพธ์ที่ถูกต้องจะยอมรับค่าคลาดเคลื่อนสัมบูรณ์หรือสัมพัทธ์ไม่เกิน 0.000001
ตัวอย่าง
อินพุต:
power = 0.5
numerator = 9
denominator = 4
ผลลัพธ์ที่คาดหวัง:
expected = 1.5
อินพุต:
double power = 0.5;
long long numerator = 9;
long long denominator = 4;
ผลลัพธ์ที่คาดหวัง:
double expected = 1.5;
อินพุต:
double power = 0.5;
long numerator = 9;
long denominator = 4;
ผลลัพธ์ที่คาดหวัง:
double expected = 1.5;
คำอธิบาย
เลขชี้กำลัง 0.5 คือการหารากที่สองบวก: √(9/4) = 3/2 = 1.5
อินพุต:
power = -1.0
numerator = 2
denominator = 5
ผลลัพธ์ที่คาดหวัง:
expected = 2.5
อินพุต:
double power = -1.0;
long long numerator = 2;
long long denominator = 5;
ผลลัพธ์ที่คาดหวัง:
double expected = 2.5;
อินพุต:
double power = -1.0;
long numerator = 2;
long denominator = 5;
ผลลัพธ์ที่คาดหวัง:
double expected = 2.5;
คำอธิบาย
เลขชี้กำลัง −1 คือการกลับเศษส่วน: 5/2 = 2.5
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน