Rand 在从最大为 75 的数字 (36) 开始时如何工作

How does Rand work when starting at a number(36) with a max of 75

我正在创建一个随机数生成器,每当我 运行 当前代码块时,我总是会得到一些超过预期限制的数字。它的工作方式是我有一组随机生成的数字,从 36 到 75,调整后的数字比原始数字高 5 个,低 5 个。例如,我最终会得到 75 以上的数字。最高的是 105。 这只是6个数字中的一个。

//Displays picks for Number 4
pick4 = (rand() % 75) + 36;
if (pick4 == pick3)
    pick4 = (rand() % 75) + 36;
if (pick4 + 5 < 75 + 1)
{
if (pick4 - 5 > 0)
    {
        adjHighPick4 = pick4 + 5;
        adjLowPick4 = pick4 - 5;
    }
}

当你想得到一个从AB的随机整数时,你只需要一个从0B-A的随机整数,你添加A。所以,你应该写 rand() % 39 + 36 (A=36, B=75, B-A=39)

而不是 rand() % 75 + 36