首页 > 解决方案 > rand() 中的不均匀分布(C语言)

问题描述


我想看看是否有任何方法可以生成我想定制的分布不均匀的随机数。
例如:
在 100 个生成的数字中,我想要:
10 A
20 B
40 C
10 D
15 E
5 F
我想说我是编程新手,所以试着帮助我回答你的简单答案。真的真的谢谢你。

标签: crandomdistribution

解决方案


对于这样的问题,这是一个非常简单但通常非常有效的解决方案:

char *samples = "AABBCCDDEEFFFFF";

char randomSample() {
  return sample[rand() % strlen(samples)];
}

推荐阅读