首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

不理解这个代码的算法

2011-12-22 
不理解这个代码的算法!不理解这个代码的算法!题目要求是:本金1000,利息0.05,假设所有的利息都累计存储,计

不理解这个代码的算法!
不理解这个代码的算法!


题目要求是:
本金1000,利息0.05,假设所有的利息都累计存储,计算并显示10年之内每年的年终总数,使用下面的公式:
         
            a   =   p(1+r)^n

p代表本金
r代表利率
n代表年数
a代表第n年的年终总数
代码是这样写的:

Module   Module1

        Sub   Main()
                Dim   principle   As   Integer   =   1000
                Dim   rate   As   Double   =   0.05
                Dim   sum   As   Double
                Dim   year   As   Integer   =   0
                Dim   output   As   String

                output   =   "年数 "   &   vbTab   &   "当年本金+利息 "   &   vbCrLf
                For   year   =   1   To   10
               
                                sum   =   principle   *   (1   +   rate)^   year '对这一行的法,我不明白!

                        output   =   output   &   year   &   vbTab   &   sum   &   vbCrLf

                Next
                Console.WriteLine(output)
                Console.ReadLine()
         
        End   Sub

End   Module

对于上面我不明白算法的那一行,我认为应该这么写:
sum   =   principle   +   principle   *   (rate^   year)
但是似乎结果不对,可是它写的算法我怎么弄也不明白。
关键就在“假设所有的利息都累计存储”这句话上

期待明白的人给解决
先谢谢各位

[解决办法]
你这么算,是不对的,本金单独出来,没有算利息啊,后面的利息部分也不对.你这样算年数存的越多,总金额反而越少了.
本来的那个公式就是高中政治政治书上计算复利的公式啊,楼主不理解么?看来政治经济学没学好啊,呵呵.
“假设所有的利息都累计存储”的意思就是每一年产生的利息都计入下一年的本金中计算利息.
故:
第一年: 本金 p 利息 r
第二年: 本金 p+r=p(1+r) 利息 (p+r)*r
第三年: 本金 p+r+(p+r)r=p(1+r)^2 利息 p(1+r)^2*r
·
·
·
第n年的本金即是第n-1年的总金额a
故:
第n年的总金为a = p(1+r)^n,题中已经给出了啊,呵呵.
这样说,楼主明白了没?

热点排行