Java一個簡單的紅包生成算法
一個簡單的紅包生成算法,代碼如下:
/** * 紅包 * @param n * @param money 單位:分 * @return **/ public static double[] redPacket(int n, double money) { // 紅包結(jié)果 double[] result = new double[n]; // 隨機(jī)數(shù) double[] randNum = new double[n]; // 隨機(jī)總數(shù) double randSum = 0; // 保證每個人都分到一分錢,扣除后分配 double redSum = money - n; // 先隨機(jī),生成指定個數(shù)的隨機(jī)數(shù) for (int i = 0; i < randNum.length; i++) { randNum[i] = Math.random() * redSum; randSum += randNum[i]; } // 重新分配 double left = redSum; // 設(shè)置隨機(jī)紅包結(jié)果 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; } // 設(shè)置最后一個紅包 result[n-1] = (left + 1) * 1.0 / 100; return result; }
算法很簡單,僅供參考,有考慮不到之處,歡迎指正!
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- java隨機(jī)數(shù)生產(chǎn)算法實(shí)例
- Java隨機(jī)數(shù)算法原理與實(shí)現(xiàn)方法實(shí)例詳解
- java生成抽樣隨機(jī)數(shù)的多種算法
- 史上最全的java隨機(jī)數(shù)生成算法分享
- Java排序算法之堆排思想及代碼實(shí)現(xiàn)
- Java計(jì)算器核心算法代碼實(shí)現(xiàn)
- Java利用遞歸算法實(shí)現(xiàn)查詢斐波那契數(shù)
- Java垃圾回收之分代收集算法詳解
- Java垃圾回收之標(biāo)記壓縮算法詳解
- Java實(shí)現(xiàn)獲取指定個數(shù)的不同隨機(jī)數(shù)
相關(guān)文章
JavaWEB項(xiàng)目之如何配置動態(tài)數(shù)據(jù)源
這篇文章主要介紹了JavaWEB項(xiàng)目之如何配置動態(tài)數(shù)據(jù)源問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Java位掩碼控制權(quán)限與(&)或(|)非(~)、>的介紹
今天小編就為大家分享一篇關(guān)于Java位掩碼控制權(quán)限與(&)或(|)非(~)、>的介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03Java中Elasticsearch 實(shí)現(xiàn)分頁方式(三種方式)
Elasticsearch是用Java語言開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是一種流行的企業(yè)級搜索引擎,這篇文章主要介紹了Elasticsearch實(shí)現(xiàn)分頁的3種方式,需要的朋友可以參考下2022-07-07Java實(shí)現(xiàn)鼠標(biāo)拖放功能的方法
這篇文章主要介紹了Java實(shí)現(xiàn)鼠標(biāo)拖放功能的方法,很實(shí)用的功能,需要的朋友可以參考下2014-07-07java中JSONArray互相轉(zhuǎn)換List的實(shí)現(xiàn)
本文主要介紹了java中JSONArray互相轉(zhuǎn)換List的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07如何使用Jenkins編譯并打包SpringCloud微服務(wù)目錄
這篇文章主要介紹了如何使用Jenkins編譯并打包SpringCloud微服務(wù)目錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11