您的位置:首页 > 其它

等额本金-逆推

2016-04-13 00:00 260 查看
等额本金是递归逆推的一个方法:

父亲准备4年的生活费,使且整存零取的方式,控制每月底只能提取1000元,假设银行年利息为1.71%

思路:

第48个月取出1000,则要先求出47个月时银行存款的具体金额:

第47个月的存款=1000/(1+1.71%/12)

第47个月的存款=(第47个月的存款+1000)/(1+1.71%/12)

........

第1个月的存款=(第2个月的存款+1000)/(1+1.71%/12)

pseudocode:

corpus(0)
if term=48 then

corpus(48)=1000

elseifcorpus(n)=(corpus(n+1)+1000)/(1+%)

endif

'//程序用以计算等额本息方式
Public Out()
Public EA#, Term#, Rate#
Sub Corpus()
Dim FirstCorpus#
'每期金额,利率,期数
Dim i&
'变量
With Sheet3
EA = .Cells(1, 2): Rate = .Cells(2, 2): Term = .Cells(3, 2)
ReDim Out(0 To Term, 1 To 2)
FirstCorpus = CorpusMain(0)     '求0值
'Output
.Cells(4, 2) = FirstCorpus  'answer
.Cells(7, 1).Resize(UBound(Out) + 1, UBound(Out, 2)) = Out  'process
End With
End Sub
'//递归逆推主程序
Function CorpusMain(n)
If n = Term Then
CorpusMain = EA
Else
CorpusMain = (CorpusMain(n + 1) + EA) / (1 + Rate / 12)
End If
Out(n, 1) = n: Out(n, 2) = CorpusMain
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: