สมมติว่าเรามีพารามิเตอร์ P,O,E,T หากเรามีเงินต้นเป็น P$ ที่เราต้องการลงทุนในตลาดหุ้น ตลาดหุ้นสลับกันไปมาระหว่าง E ที่กลับมาครั้งแรกกับดอกเบี้ย Opercent ต่อปี เราต้องตรวจสอบว่าต้องใช้เวลากี่ปีถึงจะได้ Tdollar เป็นอย่างน้อย
ดังนั้นหากอินพุตเท่ากับ P =200, O =10, E =25, T =300 ผลลัพธ์จะเป็น 3 เช่นในปีแรกเราจะได้ดอกเบี้ย 25% ดังนั้นจบลงด้วย 200+50 =250 แล้วปีหน้าเราจะได้ 10% ลงท้ายด้วย 250+25 =275 แล้วก็ได้ 10% อีกครั้งในปีหน้า ดังนั้นจะเป็น 275+27.5 =302.5 ซึ่งมากกว่า 300 ดังนั้นต้องใช้เวลา 3 ปี
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ตอบ:=0
- ในขณะที่ P
- P :=P * 1+(E/100)
- อัน :=ans + 1
- ถ้า P
- P :=P * 1+(O/100)
- อัน :=ans + 1
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, P, O, E, T): ans=0 while P < T: P *= 1+(E/100) ans += 1 if P < T: P *= 1+(O/100) ans += 1 return ans ob = Solution() P = 200 O = 10 E = 25 T = 300 print(ob.solve(P,O,E,T))
อินพุต
P = 200, O = 10, E = 25, T = 300
ผลลัพธ์
3