社区
C#
帖子详情
C# 怎么实现按指定概率产生随机数?
ewaterlong
2009-04-16 11:34:35
比如产生数的范围是0-50,按60%(概率为K%)的概率产生0-20之间的数,按40%(概率为1-K%)的概率产生21-50之间的数?
...全文
1256
12
打赏
收藏
C# 怎么实现按指定概率产生随机数?
比如产生数的范围是0-50,按60%(概率为K%)的概率产生0-20之间的数,按40%(概率为1-K%)的概率产生21-50之间的数?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xukaifu
2009-04-16
打赏
举报
回复
先生成100个数
然后计算出>0 && <=60的数有多少 个
if(计算出的个数/100>0.6)
{
生成0~20的随机数
}
else
{
生成21~50的随机数
}
ewaterlong
2009-04-16
打赏
举报
回复
[Quote=引用 7 楼 joeandlily 的回复:]
悄悄的问:这个命题能实现吗?
[/Quote]
按2楼的方法
Random myRandom = new Random();
int i= myRandom.Next(1, 100);
if (i <=60)
{
int j = myRandom.Next(0, 20);
txtStr.Text = j.ToString();
}
else
{
int j = myRandom.Next(21, 50);
txtStr.Text = j.ToString();
}
ewaterlong
2009-04-16
打赏
举报
回复
[Quote=引用 6 楼 ltlzyy 的回复:]
先生成三个0-20的,再生成21-50的数两个,然后随机取一个出来
[/Quote]
这个随机取一个出来不太好实现吧
genius_tong
2009-04-16
打赏
举报
回复
[Quote=引用 2 楼 coodd 的回复:]
先生成1-100的随机数,如果小于等于60,就在0-20间生成随机数,否则在21-50间生成随机数。
[/Quote]
顶~
joeandlily
2009-04-16
打赏
举报
回复
悄悄的问:这个命题能实现吗?
ltlzyy
2009-04-16
打赏
举报
回复
先生成三个0-20的,再生成21-50的数两个,然后随机取一个出来
minioreo
2009-04-16
打赏
举报
回复
[Quote=引用 2 楼 coodd 的回复:]
先生成1-100的随机数,如果小于等于60,就在0-20间生成随机数,否则在21-50间生成随机数。
[/Quote]
对头
ewaterlong
2009-04-16
打赏
举报
回复
[Quote=引用 2 楼 coodd 的回复:]
先生成1-100的随机数,如果小于等于60,就在0-20间生成随机数,否则在21-50间生成随机数。
[/Quote]
想法不错,值得参考!大家还有更好的解决方法不?
rtdb
2009-04-16
打赏
举报
回复
支持2楼。
coodd
2009-04-16
打赏
举报
回复
先生成1-100的随机数,如果小于等于60,就在0-20间生成随机数,否则在21-50间生成随机数。
jie3614
2009-04-16
打赏
举报
回复
这个算法有意思 关注一下
ltlzyy
2009-04-16
打赏
举报
回复
[Quote=引用 9 楼 ewaterlong 的回复:]
引用 6 楼 ltlzyy 的回复:
先生成三个0-20的,再生成21-50的数两个,然后随机取一个出来
这个随机取一个出来不太好实现吧
[/Quote]
放在一个数组里就可以随机取到了,不过按效率来看,二楼的方法是最好的
随机数
C#
练习 投色子
在学习过程中,你还可以探索如何生成
指定
概率
分布的随机数,例如二项分布、正态分布等,以及如何使用
C#
进行更复杂的随机模拟。记住,实践是检验理论的最好方式,多动手编写代码,你对
C#
和随机数的理解将会更加深入。
c#
随机数的产生
对于更复杂的随机数生成需求,比如
指定
概率
分布,可能需要自定义算法或使用第三方库。例如,如果你需要生成正态分布的随机数,可以使用Box-Muller变换或者Ziggurat算法。 为了方便理解,下面是一个简单的
C#
控制台...
好用的随机数产生器(均匀,可批量,少有重复)
C#
总结来说,
C#
中的随机数生成主要依赖`Random`类,通过合理的参数设置和循环结构可以
实现
均匀且批量的随机数生成。同时,根据具体需求,还可以选择不同的随机数生成策略,以满足各种复杂场景。了解并掌握这些知识,...
C#
控制台随机数,不产生重复的
在
C#
编程中,生成不重复的随机数是一项常见的需求,尤其在模拟抽奖...总的来说,
C#
提供了一种简单而有效的方法来生成不重复的随机数,通过利用`Random`类和集合数据结构,可以轻松
实现
控制台应用程序中的随机抽样功能。
常见的抽奖-根据
指定
概率
抽奖(改进)
然而,仅仅使用默认的随机数生成器可能无法满足
指定
概率
的需求,因此需要对其进行优化。 文章提到的“改进”部分可能涉及到以下几点: 1. **
概率
分配**:在多奖项的抽奖中,每个奖项应有不同的中奖
概率
。为了
实现
...
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章