
golang實現簡易抽獎算法參考
packagemain
import(
"crypto/rand"
"fmt"
"/spf13/cast"
"m幼兒園消防安全知識 ath/big"
)
funcmain(){
gifts:=[]Gift{{
Name:"mac",
P炒菜調料 rop:2,
Type:1,
Count:1,
},{
Name:"紅?",
Prop:3,
Type:2,
Count:2平型關大捷簡介 ,
},{
Name:"U如何做圓柱體 盤",
Prop:5,
Type:3,
Count:3,
},{
Name:"陽光普照獎",
Prop:10,
Type:4,
Count:4,
},{
Name:"謝謝惠顧",
Prop:80,
Type:5,
Count:0,
}}
fori:=0;i<200;i++{
result:=GetResult(gifts)
!=5{
//抽獎完成后,這?需要扣減獎品數量
fori:=0;i
==gifts[i].Type{
gifts[i].Count=gifts[i].Count-1
}
}
}
n(result)
}
}
//抽獎規則
//1、設置隨機數,獲取隨機數,看這個隨機數是否?于概率(整型),如果是的話,那需要判斷獎品數量是否?夠,如果是?夠的話,那表?這個?抽中獎了
funcGetResult(arr[]Gift)Gift{我的朋友作文500字
varleng=0//默認都是100即為100%
fori:=0;i
leng+=arr[i].Prop
}
fori:=0;i
result,err:=(,(兒童作文 64(leng)))
iferr!=nil{
n(())
n(())
}
random_str:=(蘋果英文怎么寫 )
random:=(random_s南園遺愛 tr)
ifrandom
ifarr[i].Count>0{
returnarr[i]
}el{
returnGift{
Name:"謝謝惠顧",
Prop:0,
Type:5,
Count:0,
}
}
}el{
leng-=arr[i].Prop
}
}
returnGift{
Name:"謝謝惠顧",
Prop:0,
Type:5,
Count:0,
}
}
typeGiftstruct{
//獎品名稱
Namestring
//概率
Propint
//類型
Typeint
//數量
Countint
}
以上僅供參考,具體實現業務邏輯則需要根據實際情況編碼
本文發布于:2023-03-21 12:17:08,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/167937222940991.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:抽獎概率算法.doc
本文 PDF 下載地址:抽獎概率算法.pdf
| 留言與評論(共有 0 條評論) |