【问题标题】:In c++ , how would i generate a random number between 2 and 14? [duplicate]在 c++ 中,我将如何生成 2 到 14 之间的随机数? [复制]
【发布时间】:2013-01-15 00:05:03
【问题描述】:

可能重复:
Generating random integer from a range

我刚刚开始学习c++,对于课堂作业,我应该使用rand() 并获得一个介于 2 到 14 之间的随机数。我知道我会在 1 到 10 之间得到一个 @ 987654324@

在我的情况下,我需要做rand()%14+2吗?

我知道其他人发布了类似的问题,但他们似乎都在偶数之间,例如 1 和 10,或 10 和 20 等。

【问题讨论】:

  • 我会尝试使用 %12 而不是 %14。
  • 是否知道rand()%10+1不会给出均匀分布介于1和10之间的随机数,对吧?一些整数比其他整数更有可能出现。这同样适用于rand()%14+2 和评论中建议的变体。
  • 请不要删除自动插入的重复链接。

标签: c++ random


【解决方案1】:

兰德()%12+2 请注意,两者之间有 12 个数字的差距,而您的下限是 2。

【讨论】:

  • 但它包含 13 个数字,而不是 12 个
  • 您是如何设法为已关闭的问题添加答案的? O.o
  • 关门了?我从来没有关闭它
  • 虽然它不包含 13,但任何数字 % 12 只有 12 种可能性。 12 % 12 = 0 余数,所以可能性是 1-11 和 0,即 12 :D
猜你喜欢
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-19
  • 1970-01-01
  • 2014-04-02
  • 2012-01-01
  • 1970-01-01
相关资源
最近更新 更多