Algorithm 复利的力量

Algorithm 复利的力量,algorithm,formula,Algorithm,Formula,假设一个人每月向银行存入一笔语料库。银行每月付给他利息。 现在对于给定的投资主体P,利率R和保有权T, 我想计算任期结束后的总金额 如果你使用术语“复合力”,你可以在网上找到数千个关于这个问题的计算器 让我们举个例子(注意:它不同于简单的复利问题): 因此,答案将是265 这个问题的实现可能是这样的:(Python 2) p=float(原始输入('输入语料库:')) r=(1+浮动(原始输入('输入年利率:'))/1200) t=输入('输入任期:') a=p+0 m=1 虽然m我们可以找到以

假设一个人每月向银行存入一笔语料库。银行每月付给他利息。 现在对于给定的投资主体P利率R保有权T, 我想计算任期结束后的总金额

如果你使用术语“复合力”,你可以在网上找到数千个关于这个问题的计算器

让我们举个例子(注意:它不同于简单的复利问题):

因此,答案将是265

这个问题的实现可能是这样的:(Python 2)

p=float(原始输入('输入语料库:'))
r=(1+浮动(原始输入('输入年利率:'))/1200)
t=输入('输入任期:')
a=p+0
m=1

虽然m我们可以找到以下问题的封闭式解决方案(与您所说的略有不同,但解决方案将以任何方式工作):

这个和是一个几何级数,你可以通过谷歌搜索一下,发现它简化为:


这可以在O(1)中解决,使用O(1)
pow
函数来计算功率。

我们可以找到以下问题的封闭式解决方案(与您所述的略有不同,但解决方案将以任何方式工作):

这个和是一个几何级数,你可以通过谷歌搜索一下,发现它简化为:

这可以在O(1)中解决,使用O(1)
pow
函数来计算功率。

我找到了答案

假设函数
A(t)
t
个月到期后的总金额,
p
是主体,
r
(月利率+1)
r=r+1

现在,

这是简单的<强>几何级数< /强>当我们考虑<代码> R= R+1 < < /P> 现在,举个例子,

P=52.5
R=0.003
t=5

r = 1 + R = 1.003
A = A(5) = (52.5 * 1.003) * (1.003^5 - 1) / 0.003 = 264.87197128801836 ~ 265
感谢您宝贵的时间和努力。我从你的答案中想到了<代码> R= R+1 ,它解决了这个问题,否则我花了几个小时把它分解成简单的等式。

< P>我找到了答案。

假设函数
A(t)
t
个月到期后的总金额,
p
是主体,
r
(月利率+1)
r=r+1

现在,

这是简单的<强>几何级数< /强>当我们考虑<代码> R= R+1 < < /P> 现在,举个例子,

P=52.5
R=0.003
t=5

r = 1 + R = 1.003
A = A(5) = (52.5 * 1.003) * (1.003^5 - 1) / 0.003 = 264.87197128801836 ~ 265

感谢您宝贵的时间和努力。我从你的答案中想到了<代码> R= R+ 1 ,它解决了问题,否则我花了几个小时把它分解成简单的等式。这个算法看起来很简单。你在寻找一个用于分析目的的闭式解吗?事实上,我在寻找任何一个公式,使我的算法的复杂度达到O(1)的顺序。什么是
n
?我在你上面的问题陈述中没有看到。谷歌“复利公式”可以找到很多页面来解释连续复利和周期复利。O(1)中有封闭式解决方案。@DaveGalvin我刚刚尝试过,但没有一个网站解释了如何将每月付款纳入封闭式解决方案。这种方式有什么问题?这个算法看起来很简单。你在寻找一个用于分析目的的闭式解吗?事实上,我在寻找任何一个公式,使我的算法的复杂度达到O(1)的顺序。什么是
n
?我在你上面的问题陈述中没有看到。谷歌“复利公式”可以找到很多页面来解释连续复利和周期复利。O(1)中有封闭形式的解决方案。@DaveGalvin我刚刚尝试过,但没有一个网站解释了如何将每月付款纳入封闭形式的解决方案。此外,你可能想使用和(并添加Python代码以确保完整性?)@Zeta好吧,你说服了我。还将该站点添加书签以备将来参考。@GuyGreer我感谢您的支持,但请再看看这个问题,我的问题不适合函数a(n)。@AbhishekKashyap我看不出问题是什么,我从您的问题中遗漏了什么使这不兼容?@GuyGreer a(2)=(a(1)+p)*r而不是我的问题中的a(1)*r+p。另外,您可能想使用和(并添加Python代码以确保完整性?)@Zeta好吧,您说服了我。还将该站点添加书签以备将来参考。@GuyGreer我感谢您的支持,但请再看看这个问题,我的问题不符合函数a(n)。@AbhishekKashyap我看不出问题是什么,我在您的问题中遗漏了什么使这不兼容?@GuyGreer a(2)=(a(1)+p)*r而不是我的问题中的a(1)*r+p。
  a(n+1) = a(n) * r + p
  a(0) = A

  a(1) = A*r + p

  a(2) = a(1)*r + p
  a(2) = (A*r + p)*r + p
  a(2) = A*r^2 + p*r + p

  a(3) = a(2)*r + p
  a(3) = (A*r^2 + p*r + p)*r + p
  a(3) = A*r^3 + p*r^2 + p*r + p
  ...
A(1)= P*r

A(2)= (A(1) + P)*r
    = (P*r  + P)*r
    = P*r^2 + P*r

A(3)= (A(2) + P)*r
    = (P*r^2 + P*r)*r
    = P*r^3 + P*r^2 + P*r

A(t)= P*r^t + P*r^(t-1) + ... + P*r^3 + P*r^2 + P*r
    = (P*r) * [P*r^(t-1) + P*r^(t-2) + ... + P*r^2 + P*r + 1]
    = (P*r) * (r^(t-1)-1) / (r - 1)                   [Formula of sum in G.P.]
    = (P*r) * (r^(t-1)-1) / R                         [Since r = R + 1]

Or, only in terms of P, R, t:
A(t) = P*(1 + R) * ((1 + R)^(t-1)-1) / R
r = 1 + R = 1.003
A = A(5) = (52.5 * 1.003) * (1.003^5 - 1) / 0.003 = 264.87197128801836 ~ 265