繁体   English   中英

在范围之间创建随机偶数

[英]Create a random even number between range

好的,我需要创建一个介于54和212之间的偶数随机数。 唯一的问题是它必须在单个语句中完成。 我有一个生成一定范围内随机数的类,但是就像我说的那样,我想在一个语句中完成。 我想出了这一点,但无法正常工作。 有任何想法吗?

int main()
{

    srand( time(NULL));
    int i;

    i =  (rand() % 106) * 2;

    cout << i;


    return 0;
}

在区间[27, 106]生成任意数字,然后将其乘以2。您的问题是您没有下限。

int i = 2 * (27 + rand() % (106 - 27 + 1))  

通常,要在[a, b]生成随机数,请使用:

int i = a + rand() % (b - a + 1)

要了解为什么这样做,请尝试简单的示例,例如[2, 4][3, 7]等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM