二分検索を使用して見つける方法を見つけようとしています:
ローン金額を清算するための毎月の支払い
- 月利 = (年利) / 12
- 毎月の支払い下限 = 残高 / 12
- 月々のお支払い上限額=(残高×(1+月々の金利)12)÷12
現時点で私は持っています:
balance = 6758
annualInterestRate = 0.20
monthlyRate = annualInterestRate/12
numGuesses = 0
lo = balance/12
hi = (balance)*((1+monthlyRate)**12)/12
monthPay = (hi + lo)/2.0
NuBalance = balance
while abs((NuBalance)*(1+monthlyRate))-(monthPay) >= 0.01:
print('low = ' + str(lo) + ' high = ' + str(hi) + ' MonthPay = ' + str(monthPay))
numGuesses += 1
if ((NuBalance)*(1+monthlyRate))-(monthPay) <= 0.01:
print('Month Pay LO = ' + str(monthPay))
lo = monthPay
else:
print('Month Pay HI = ' + str(monthPay))
hi = monthPay
monthPay = (hi + lo)/2.0
print('numGuesses = ' + str(numGuesses))
print('Month Pay = ' + str(monthPay))
私が間違っているところへの助けをいただければ幸いです。