永发信息网

如何利用计算机产生随机概率,比如事件A,B,C,D发生的概率分别为10%,30%,25%,35%

答案:3  悬赏:70  手机版
解决时间 2021-02-25 03:18
  • 提问者网友:低吟詩仙的傷
  • 2021-02-24 14:58
由于计算机产生的随机数是伪随机的,可能出现事件A连续发生10次,甚至更多,有什么好的方法么?谢谢!
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-02-24 16:24
可以首先随机产生一个范围在1-100的数字
然后使 1-10代表 A
然后使 11-40代表 B
然后使 41-65代表 C
然后使 66-10代表 D
C#写法
var randObject = new Random();
var generatedNumber = randObject.next(1,100);
string randEvent = string.empty;

if(generatedNumber < 10){
randEvent = "A";
}
else if(generatedNumber < 40){
randEvent = "B";
}
else if(generatedNumber < 65){
randEvent = "C";
}
else if(generatedNumber < 100){
randEvent = "D";
}
Console.writeline($"Generated random event is {randEvent}");
这里需要注意的是 计算机生成的随机数并不是真正的随机 而是一种数学算法
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-02-24 16:48
你可以去问一下清华计算机系的闵老师 再看看别人怎么说的。
  • 2楼网友:低血压的长颈鹿
  • 2021-02-24 16:34
真随机也一样可能出现事件A连续发生10次,甚至更多。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯