延迟付款中罚款计算的算法(月)

本文关键字:算法 计算 付款 延迟 | 更新日期: 2023-09-27 18:28:50

我正在用C#和MySQL开发一个应用程序。我需要帮助创建一个函数来计算延迟付款的罚款和利息。

给定:

  • A是要支付的金额(1000)

  • I是延迟付款的利息(1%)

  • p是由此产生的惩罚

计算的逻辑应该是:

  • 如果A=1000延迟一个月,则p应为10(1000/100*1%)

  • 如果A=1000延迟两个月,则p应为10+20(上个月罚款的两倍)

  • 如果A=1000延迟三个月,则p应为10+20+40

  • 等等。

我不知道如何实现这一点。任何专家的想法都将有助于使用存储过程(MySQL)或C#中的函数。

ACUBE。

延迟付款中罚款计算的算法(月)

您要查找的是有限几何级数的和。

在您的情况下,a为1%(baseInterest),n是月数,1r则是罚金乘数。

所以你的利息百分比计算将看起来像(在C#中):

var interestPercents = baseInterest * (1 - Math.Pow(penaltyMultiplier, delayInMonths))/(1 - penaltyMultiplier);

然后你只需要把这个量乘以得到的百分比。