Java一個簡單的紅包生成算法
更新時間:2019年01月04日 16:16:35 作者:希爾伯特
今天小編就為大家分享一篇關于Java一個簡單的紅包生成算法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
一個簡單的紅包生成算法,代碼如下:
/** * 紅包 * @param n * @param money 單位:分 * @return **/ public static double[] redPacket(int n, double money) { // 紅包結果 double[] result = new double[n]; // 隨機數(shù) double[] randNum = new double[n]; // 隨機總數(shù) double randSum = 0; // 保證每個人都分到一分錢,扣除后分配 double redSum = money - n; // 先隨機,生成指定個數(shù)的隨機數(shù) for (int i = 0; i < randNum.length; i++) { randNum[i] = Math.random() * redSum; randSum += randNum[i]; } // 重新分配 double left = redSum; // 設置隨機紅包結果 for (int i = 0; i < result.length-1; i++) { // 取整 result[i] = Math.round(randNum[i] / randSum * redSum); left -= result[i]; // 每人至少一分錢 result[i] = (result[i] + 1) * 1.0 / 100; } // 設置最后一個紅包 result[n-1] = (left + 1) * 1.0 / 100; return result; }
算法很簡單,僅供參考,有考慮不到之處,歡迎指正!
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
JavaWEB項目之如何配置動態(tài)數(shù)據(jù)源
這篇文章主要介紹了JavaWEB項目之如何配置動態(tài)數(shù)據(jù)源問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Java中Elasticsearch 實現(xiàn)分頁方式(三種方式)
Elasticsearch是用Java語言開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級搜索引擎,這篇文章主要介紹了Elasticsearch實現(xiàn)分頁的3種方式,需要的朋友可以參考下2022-07-07java中JSONArray互相轉換List的實現(xiàn)
本文主要介紹了java中JSONArray互相轉換List的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07如何使用Jenkins編譯并打包SpringCloud微服務目錄
這篇文章主要介紹了如何使用Jenkins編譯并打包SpringCloud微服務目錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11