Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
好的,我需要创建一个介于 54 和 212 之间的偶数随机数。唯一的问题是它必须在单个语句中完成。我有一个类可以在一个范围内生成随机数,但是就像我说的,我想在一个语句中完成它。我想出了这个,但它不能正常工作。有任何想法吗?
int main() { srand( time(NULL)); int i; i = (rand() % 106) * 2; cout << i; return 0; }
生成区间中的任意数字[27, 106]并将其乘以 2。您的问题是您没有下限。
[27, 106]
int i = 2 * (27 + rand() % (106 - 27 + 1))
一般来说,要在[a, b]使用中生成一个随机数:
[a, b]
int i = a + rand() % (b - a + 1)
要了解为什么会这样,请尝试简单的示例,例如[2, 4]等[3, 7]。
[2, 4]
[3, 7]