延迟付款中罚款计算的算法(月)
本文关键字:算法 计算 付款 延迟 | 更新日期: 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);
然后你只需要把这个量乘以得到的百分比。