Advertisement
kabads

credit card bisection

Oct 14th, 2012
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.73 KB | None | 0 0
  1.  
  2. def payYear(balance, minpayment, monthlyinterest, upper, lower, epsilon):
  3.     while abs(balance) <0.01:
  4.         month = 1
  5.         while month <13:
  6.             balance = (balance - minpayment) * ( 1 + monthlyinterest)
  7.             month = month + 1
  8.         if balance > 0.01:
  9.             upper = minpayment
  10.         else:
  11.             lower = minpayment
  12.         minpayment = (upper+lower)/2.0
  13.     return minpayment
  14.  
  15. balance = 320000
  16. annualInterestRate = 0.2
  17. epsilon = 0.01
  18. monthlyinterest = annualInterestRate/12
  19. lower = balance/12
  20. upper = (balance*(1+monthlyinterest)**12)/12
  21. minpayment = (upper+lower)/2.0
  22. ans = payYear(balance, minpayment, monthlyinterest, upper, lower, epsilon)
  23. print "minpayment is: " + str(round(ans, 2))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement