有人可以使这个算法易于理解,以便为我的应用程序进行计算。
由于
解释:
答案 0 :(得分:1)
是的,算法肯定可以用编程语言表达,但是我不会提供实现,但是有些伪代码可以让你开始。
所以我们首先看到的是x
正在处理金钱,所以我们将其表示为双重
double monthlyPayment //this is X
接下来我们看到P sub 0
是贷款总额,所以我们也将其表示为双重
double loanAmount // this is P sub 0
接下来我们看到i
是利率,所以这也是双倍
double interestRate // this is i
接下来我们看到n
是贷款中剩余的月数,这是一个整数
int monthsRemaining // this is n
所以看看你提出的公式,我们采取以下措施:
monthlyPayment = (loanAmount * interestRate) / 1 - (1 + interestRate) ^ (-1 * monthsRemaining)
现在没有实际实现这一点,我相信你可以从这里开始。
答案 1 :(得分:0)
这是您使用Javascript代表它的方式:
function repayment(amount, months, interest) {
return (amount * interest) / (1 - Math.pow(1 + interest, -months));
}
答案 2 :(得分:0)
你在寻找方程式的解释吗?它涉及贷款。当你拿出贷款时,你会花一定数量的钱(P)一定数月(n)。此外,为了使贷款值得贷款,您需要支付利率(i)。这是您每个月对剩余贷款金额收取的百分比。
因此,您需要计算每月需要支付的金额(x)才能在规定的时间(n个月)内完成贷款。这并不像将贷款金额(P)除以月数(n)那么简单,因为您还必须支付利息。
因此,等式为您提供每月必须支付的金额,以偿还原始贷款加上任何利息。
如果您使用的是Java:
public double calculateMonthlyPayment(double originalLoan, double interestRate, double monthsToRepay) {
return (originalLoan*interestRate)/(1-(Math.pow((1+interestRate), -monthsToRepay)));
}