均分小數(shù)位處理

場景:

借款人向借貸公司借款S元,按照等本等息(這種方式好說明些)的方式還12期,每期還本金s1,s2....,s12元。
S = \sum_{i=1}^{n}{s_i}
對于一筆借貸來說,投資人會存在多個,假設(shè)為m個,他們投資的總額等于S元。
S = \sum_{j=1}^{m}{invest_j}
現(xiàn)在借款人開始還款,要求以下3點:
(1)返還給投資人的本金需要按比例分配,當時投資多,則本次還款到此投資人的本金就大;
(2)供應(yīng)商每一期還的本金剛好等于給投資人的本金;
(3)投資人的本金進過12期還款之后,剩余的待還款本金為0;

問題分析:
(1)如果按照等比例返回給投資人,一定會遇見不能整除的問題,例如借款人借款1200元,三人各投資400元,有s_1 = 2_2 = ... = s_12 = 100元,借款人第一期還100元給3位投資人,每個投資人是均分不了的;
先給出如下的表格:

期數(shù)用戶 用戶1 用戶2 用戶3 總和
期數(shù)1 33.33 33.33 33.33 99.99
期數(shù)2 33.33 33.33 33.33 99.99
... ... ... ... ...
期數(shù)12 33.33 33.33 33.33 99.99
總和 399.96 399.96 399.96 1199.88

通過這個表格,橫(投資人回款總額)豎(借款人還款總額)都和總數(shù)有偏差。
如果是嚴格的按照比例回款給投資人,顯然在這個情況下是不可能的,我們放松這個條件,修改為投資人的匯款金額大致按照比例,自然越趨近越好。
投資人有有先后的順序,還是按照這個例子來走,用戶1在第一期的時候,實際上是33.33333...,如果保留8位小數(shù),且最后一位直接進位,得到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元。

期數(shù)用戶 用戶1 用戶2 用戶3 總和
期數(shù)1 33.33_{0.00333334} 33.33_{0.00666668} 33.34_{0.00000002} 100
期數(shù)2 33.33_{0.00363637} 33.33_{0.00727274} 33.34_{0.00000002} 100
... ... ... ... ...
期數(shù)12 33.33_{0.00333334} 33.33_{0.00666668} 33.34_{0.00000002} 100
總和 399.96 399.96 400.08 1200

\color{red}{第12期的數(shù)據(jù)可能不是這樣的,暫時不算了。}

現(xiàn)在借款人的本金每期100元都完全分給了投資人,滿足條件2,但是條件3不滿足。我們將每個用戶的最后一期 = 總本金 - 減去以前期數(shù)的總和來求得:

期數(shù)用戶 用戶1 用戶2 用戶3 總和
期數(shù)1 33.33_{0.00333334} 33.33_{0.00666668} 33.34_{0.00000002} 100
期數(shù)2 33.33_{0.00363637} 33.33_{0.00727274} 33.34_{0.00000002} 100
... ... ... ... ...
期數(shù)12 33.37 33.37 33.26 100
總和 400 400 400 1200

至此,比較完美的解決了這個問題,但是還是需要證明以下2點:
(1) 橫行,最后的總和一定等于100;
(2) 豎行,最后一期不會因為前面幾期多回款本金導(dǎo)致減成了負數(shù);

第一個比較好解答,由于每一個用戶的每一期都是分位直接進位的,所以到最后一個肯定是超過100%,但是也不會超過多少,保留八位小數(shù)可以保證百萬級別的拆分;

第二個問題,到第11期時,借款人剩余該還本金為L_{11},假設(shè)用戶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}即可。
如果此時發(fā)生前面累積小數(shù) + 本次小數(shù) > 1的情況,本次invest_{l11}也不會減成負數(shù)。

ps:還有另外一種解決方案,暫且不表。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 逐波宦海遇寒流,文正卻無遷客愁。天下興亡事關(guān)己,誰人能悟岳陽樓? (平水韻、新韻兩可,2017-06-18)
    西江古月閱讀 490評論 2 5
  • 冰清玉砌渾天宮 一樹白絮松蓬蓬 溫陽繾綣枝頭雪 翩翩灑落滿天星
    淞清梅杰閱讀 191評論 0 2
  • 也許,機遇不會出現(xiàn)在前進的路上,但返回不是我們的方向,我們要用自己的臂膀擔當起自己的責(zé)任。 今天重溫《最好的我們》...
    彬妹yoga閱讀 597評論 1 1
  • 一個人的時候,不敢擅自期待兩個人的幸福時光。是你不自覺的快樂,讓我滿足,讓我更加留戀。多么想讓時光停留啊。 可是。...
    Traveling_1ight閱讀 332評論 0 0

友情鏈接更多精彩內(nèi)容