【问题标题】:generating random int input from -100 to 100 [closed]生成从-100到100的随机int输入[关闭]
【发布时间】:2020-06-17 07:52:52
【问题描述】:

我想生成介于 -100 到 100 之间的随机数,但是我不确定其中哪些会生成正确的数字 rand()%201 - 100;rand()%200 - 100;

【问题讨论】:

  • 首先确定rand() % 200rand() % 201 可以产生的最大和最小可能值。然后对每个人执行-100,看看你还剩下什么范围。
  • 您可能需要考虑更现代的 C++ 随机数工具(使用起来也更容易混淆)std::uniform_int_distribution
  • 这应该很容易让你自己测试
  • 编辑中发生了什么?
  • 不要在 2020 年的新代码中使用 rand()。请使用我们在过去 9 年中可用的新现代 random facilities(自 C ++11)。还;除非 201 均分到生成器的最大输出中,否则您的 %201 会在结果中引入偏差。

标签: c++ c++11 math


【解决方案1】:

第一个,rand()%201 - 100

第二个永远不会达到正 100,因为 rand()%200 永远不会是 200。

【讨论】:

  • 发帖前我没喝够咖啡,请忽略我之前的评论。我一提交评论就意识到我在说什么。
猜你喜欢
  • 2016-10-16
  • 1970-01-01
  • 2017-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
相关资源
最近更新 更多