【问题标题】:need to generate a random number, but every digit in that number can't be higher than 6 (in C)需要生成一个随机数,但该数字中的每个数字都不能高于 6(在 C 中)
【发布时间】:2022-01-01 15:32:33
【问题描述】:

我需要生成一个4位数的随机数,但我必须确保每个位数不大于6,可以吗?如果是这样,我该怎么做? :) (在 C 中)

【问题讨论】:

  • 试试rand() % 7。

标签: c random


【解决方案1】:

最简单的选择是生成 0 到 6 范围内的 4 个不同的随机数,然后将它们相加,但将第一个乘以 1,第二个乘以 10 等等。

int a = rand() % 7;
int b = rand() % 7;
int c = rand() % 7;
int d = rand() % 7;

int e = a + 10 * b + 100 * c + 1000 * d;

【讨论】:

  • 哦,好的,非常感谢!
  • 您可能希望d 具有非零值;使用d = 1 + rand() % 6; 生成随机值1..6。
  • 取决于 OP 的用例,但我猜可能确实需要非零的第一个数字
猜你喜欢
  • 2018-02-20
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
相关资源
最近更新 更多