如何在编程中表示该算法进行计算?

时间:2011-03-06 18:21:10

标签: algorithm equation

有人可以使这个算法易于理解,以便为我的应用程序进行计算。

Algorithm

由于

解释:

Description of Algorithm

3 个答案:

答案 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)));
    }