日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java红包正态分布_红包分配算法

發(fā)布時(shí)間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java红包正态分布_红包分配算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

微信紅包的分配算法,在知乎上已經(jīng)有人討論過了,詳見《微信紅包的隨機(jī)算法是怎樣實(shí)現(xiàn)的?》?;镜脑瓌t是:紅包分配的錢數(shù)滿足截尾正態(tài)隨機(jī)數(shù)分布。

大致為在截尾正態(tài)分布中取隨機(jī)數(shù),并用其求和數(shù)除以總價(jià)值,獲得修正因子,再用修正因子乘上所有的隨機(jī)數(shù),得到紅包價(jià)值。

這種分布意味著:低于平均值的紅包多,但是離平均值不遠(yuǎn);高于平均值的紅包少,但是遠(yuǎn)大于平均值的紅包偏多。

關(guān)于正態(tài)分布,可參考百科:

正態(tài)分布(Normal distribution)又名高斯分布(Gaussian distribution),是一個(gè)在數(shù)學(xué)、物理及工程等領(lǐng)域都非常重要的概率分布,在統(tǒng)計(jì)學(xué)的許多方面有著重大的影響力。若隨機(jī)變量X服從一個(gè)數(shù)學(xué)期望為μ、方差為σ^2的高斯分布,記為N(μ,σ^2)。其概率密度函數(shù)為正態(tài)分布的期望值μ決定了其位置,其標(biāo)準(zhǔn)差σ決定了分布的幅度。因其曲線呈鐘形,因此人們又經(jīng)常稱之為鐘形曲線。我們通常所說的標(biāo)準(zhǔn)正態(tài)分布是μ = 0,σ = 1的正態(tài)分布。

例如100元總額,分成20份的隨機(jī)紅包,可以這樣設(shè)置:期望值μ=100/20=5,標(biāo)準(zhǔn)差σ=100,這樣紅包整體分布大概會(huì)是這樣(負(fù)數(shù)可以取絕對(duì)值):

紅包分布示意圖生成器是參考《c# 隨機(jī)生成1000個(gè)滿足正態(tài)分布的點(diǎn)》寫的,核心代碼如下:

///

///返回正態(tài)分布的值///

/// 第一個(gè)均勻分布值

/// 第二個(gè)均勻分布值

/// 正態(tài)期望

/// 正態(tài)方差

/// 分布值或者null

private static double? GetZTFB(double u1, double u2, double e, doubled)

{double? result = null;try{

result= e + Math.Sqrt(d) * Math.Sqrt((-2) * (Math.Log(u1) / Math.Log(Math.E))) * Math.Sin(2 * Math.PI *u2);

}catch(Exception ex)

{

result= null;

}returnresult;

}

讓我們加大金額10000和份數(shù)2000:可以看到紅包分布總是在一定區(qū)間之內(nèi),符合紅包分配的大部分特點(diǎn),大家拿到的錢都會(huì)差不多,但顯然這樣不是最佳手氣拿到的金額,也不夠刺激。

實(shí)際上基于正態(tài)分布的原理,真正的紅包要這樣處理,參考《別人在搶紅包,程序員在研究紅包算法》:

this.Cursor =Cursors.WaitCursor;this.chart1.Series[0].Points.Clear();this.listBox1.Items.Clear();double t_max = 0,t_min = 0;

Random rand= newRandom();double total = (double)this.num_Total.Value; ;//紅包總額

int num = (int)this.num_Num.Value; ;//紅包份數(shù)

double min = 0.01;//每個(gè)人最少能收到0.01元

doublesafe_total, money;for (int i = 1; i < num; i++)

{

safe_total= (total - (num - i) * min) / (num - i);//隨機(jī)安全上限

double ztfb_u = total / num;//正態(tài)分布期望

double ztfb_fc = ztfb_u;//正態(tài)分布方差

money= rand.Next((int)(min * 100), (int)(safe_total * 100)) / 100.0d;this.chart1.Series[0].Points.Add(money);this.listBox1.Items.Add(i + ":" + money.ToString("0.00"));if (money > t_max) t_max =money;if (i == 1) t_min =t_max;if (money < t_min) t_min =money;total = total -money;

}this.label3.Text = string.Format("Max:{0} Min:{1}", t_max.ToString("0.00"), t_min.ToString("0.00"));this.Cursor = Cursors.Default;

同樣是10000元,分2000份,大部分人都在20元以下,少數(shù)在20~80元,幸運(yùn)者會(huì)超過100元,看起來這樣的紅包分配比較合理了。

總結(jié)

以上是生活随笔為你收集整理的java红包正态分布_红包分配算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日日摸日日添日日碰9学生露脸 | 夜夜激情 | 男人桶女人桶爽30分钟 | 日视频| 91日韩| 日韩av中文在线 | 午夜精品福利一区二区蜜股av | 这里只有精品视频在线观看 | 亚洲性猛交 | 视频在线观看一区二区 | 久久久av一区二区三区 | 国产精品久久久久久影视 | 激情视频免费在线观看 | 自拍天堂 | 99福利视频导航 | 色a在线| 中文字幕一区二区三区精华液 | 日韩精品手机在线 | 天天摸天天摸 | 欧美一区二区三区四区在线观看 | 亚洲精品一区二区三区精华液 | 日本成人精品 | 毛片基地视频 | 96日本xxxxxⅹxxx70| 亚洲天堂av片 | 91一区视频 | 男人日女人在线观看 | 奇米影视在线播放 | 少妇自拍视频 | 日本一级理论片在线大全 | 国产一区二区免费视频 | 91网址在线播放 | 亚洲视频黄色 | 久久久国产精品一区二区三区 | 99在线视频精品 | 亚洲最新在线观看 | 性色在线观看 | av不卡在线播放 | 精品人妻在线视频 | 中国在线观看片免费 | 大黄毛片 | 综合国产视频 | 四季av日韩精品一区 | 永久久久久久久 | 在线视频中文 | 国产精品无码AV | 久久精品这里只有精品 | 开心六月婷婷 | 香蕉久久夜色精品国产使用方法 | 日日日操操操 | 瑟瑟视频免费看 | 久久久伦理片 | 欧美经典一区二区 | 欧美激情在线一区二区 | 特极毛片| 美女乱淫| 日韩一区二区三区四区五区 | 天码人妻一区二区三区在线看 | 啪啪免费网站 | 三级黄色av | 樱花电影最新免费观看国语版 | 91精品久久久久久综合五月天 | 国产成人av片 | 亚洲黄网在线观看 | 久艹在线观看 | 久草资源在线视频 | 婷婷狠狠 | 国产99re| 在线观看视频日韩 | 亚洲AV成人无码网站天堂久久 | 中文字幕精品国产 | 三级全黄做爰龚玥菲在线 | 性色一区二区 | 成人午夜sm精品久久久久久久 | 欧美精品hd| 午夜av影院 | 国产精品一区二区三区四区 | 国产在线观看免费高清 | 欧美色xxxxx| 桃谷绘里香在线观看 | 亚洲精品国产精品乱码桃花 | 艳妇乳肉亭妇荡乳av | 91在线一区二区三区 | av一二三 | 亚洲无线观看 | 97免费在线观看视频 | 免费人成视频在线 | jizz国产 | av每日更新 | youjizz少妇 | 麻豆人妻少妇精品无码专区 | 欧美一区二区在线看 | 国产成人麻豆精品午夜在线 | 成人av网址大全 | 国产精品porn | 国产精品人人 | 亚洲hhh| 中文久久乱码一区二区 | 欧美色图首页 |