均分小数位处理

场景:

借款人向借贷公司借款S元,按照等本等息(这种方式好说明些)的方式还12期,每期还本金s1,s2....,s12元。
S = \sum_{i=1}^{n}{s_i}
对于一笔借贷来说,投资人会存在多个,假设为m个,他们投资的总额等于S元。
S = \sum_{j=1}^{m}{invest_j}
现在借款人开始还款,要求以下3点:
(1)返还给投资人的本金需要按比例分配,当时投资多,则本次还款到此投资人的本金就大;
(2)供应商每一期还的本金刚好等于给投资人的本金;
(3)投资人的本金进过12期还款之后,剩余的待还款本金为0;

问题分析:
(1)如果按照等比例返回给投资人,一定会遇见不能整除的问题,例如借款人借款1200元,三人各投资400元,有s_1 = 2_2 = ... = s_12 = 100元,借款人第一期还100元给3位投资人,每个投资人是均分不了的;
先给出如下的表格:

期数用户 用户1 用户2 用户3 总和
期数1 33.33 33.33 33.33 99.99
期数2 33.33 33.33 33.33 99.99
... ... ... ... ...
期数12 33.33 33.33 33.33 99.99
总和 399.96 399.96 399.96 1199.88

通过这个表格,横(投资人回款总额)竖(借款人还款总额)都和总数有偏差。
如果是严格的按照比例回款给投资人,显然在这个情况下是不可能的,我们放松这个条件,修改为投资人的汇款金额大致按照比例,自然越趋近越好。
投资人有有先后的顺序,还是按照这个例子来走,用户1在第一期的时候,实际上是33.33333...,如果保留8位小数,且最后一位直接进位,得到33.33333334,则用户1第一期回款金额为33.33元,同理得到用户2第一期为33.33333334,但是,此时将用户1的33.3333334 - 33.33 = 0.00333334加上得33.33666668元,故用户2第一期回款本金为33.33,同理用户3第一期为33.33333334,加上33.33666668 - 33.33 = 0.00666668,得到33.34000003,即33.34元。

期数用户 用户1 用户2 用户3 总和
期数1 33.33_{0.00333334} 33.33_{0.00666668} 33.34_{0.00000002} 100
期数2 33.33_{0.00363637} 33.33_{0.00727274} 33.34_{0.00000002} 100
... ... ... ... ...
期数12 33.33_{0.00333334} 33.33_{0.00666668} 33.34_{0.00000002} 100
总和 399.96 399.96 400.08 1200

\color{red}{第12期的数据可能不是这样的,暂时不算了。}

现在借款人的本金每期100元都完全分给了投资人,满足条件2,但是条件3不满足。我们将每个用户的最后一期 = 总本金 - 减去以前期数的总和来求得:

期数用户 用户1 用户2 用户3 总和
期数1 33.33_{0.00333334} 33.33_{0.00666668} 33.34_{0.00000002} 100
期数2 33.33_{0.00363637} 33.33_{0.00727274} 33.34_{0.00000002} 100
... ... ... ... ...
期数12 33.37 33.37 33.26 100
总和 400 400 400 1200

至此,比较完美的解决了这个问题,但是还是需要证明以下2点:
(1) 横行,最后的总和一定等于100;
(2) 竖行,最后一期不会因为前面几期多回款本金导致减成了负数;

第一个比较好解答,由于每一个用户的每一期都是分位直接进位的,所以到最后一个肯定是超过100%,但是也不会超过多少,保留八位小数可以保证百万级别的拆分;

第二个问题,到第11期时,借款人剩余该还本金为L_{11},假设用户3每次都回款多1分钱,到第11期剩余的本金为inevst_{l11},则用户3第11期回款本金为:
hk_{3,11} = \frac{invest_{l11}} {L_{11}} * s_{11}
证明:
hk_{3,11} = \frac{invest_{l11}} {L_{11}} * s_{11} <= invest_{l11}即可。
如果此时发生前面累积小数 + 本次小数 > 1的情况,本次invest_{l11}也不会减成负数。

ps:还有另外一种解决方案,暂且不表。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 逐波宦海遇寒流,文正却无迁客愁。天下兴亡事关己,谁人能悟岳阳楼? (平水韵、新韵两可,2017-06-18)
    西江古月阅读 475评论 2 5
  • 冰清玉砌浑天宫 一树白絮松蓬蓬 温阳缱绻枝头雪 翩翩洒落满天星
    淞清梅杰阅读 167评论 0 2
  • 也许,机遇不会出现在前进的路上,但返回不是我们的方向,我们要用自己的臂膀担当起自己的责任。 今天重温《最好的我们》...
    彬妹yoga阅读 492评论 1 1
  • 一个人的时候,不敢擅自期待两个人的幸福时光。是你不自觉的快乐,让我满足,让我更加留恋。多么想让时光停留啊。 可是。...
    Traveling_1ight阅读 318评论 0 0