ภาพรวม
โจทย์คำนวณเวลาที่แบตเตอรี่เหลือจนหมด โดยมี eco mode ที่เปิดเมื่อเหลือ 20% ทำให้ใช้พลังงานช้าลง 2 เท่า
ตัวอย่าง
t = 75 นาที, p = 25% เหลือ
จาก 100% → 25% ใช้ 75 นาที (โหมดปกติ)
อัตราโหมดปกติ: 75% / 75 นาที = 1%/นาที
Eco mode (≤20%): 0.5%/นาที
เหลือ 25%: 5% ในโหมดปกติ (5 นาที) + 20% ใน eco (40 นาที) = 45 นาที
สูตร
- ถ้า p < 20: อยู่ใน eco แล้ว →
2 * p * t / (120 - 2 * p) - ถ้า p ≥ 20:
(p + 20) * t / (100 - p)
โค้ด Python
class Solution:
def solve(self, t, p):
if p < 20:
return 2 * p * t / (120 - 2 * p)
return (p + 20) * t / (100 - p)
ob = Solution()
print(ob.solve(75, 25))
การสร้างสูตร (Derivation)
อัตราปกติ r = (100-p)/t %/นาที
Eco rate = r/2
เวลาที่เหลือ = (p-20)/r + 20/(r/2) = (p-20)t/(100-p) + 40t/(100-p) = (p+20)t/(100-p)
ผลลัพธ์
45.0