在范围之间创建随机偶数

时间:2010-08-01 18:52:12

标签: c++ random srand

好的我需要创建一个54到212之间的偶数随机数。唯一的问题是它必须在一个声明中完成。我有一个类在一个范围内生成随机数,但就像我说的,我想在一个语句中做到这一点。我想出了这个,但它没有正常工作。有什么想法吗?

int main()
{

    srand( time(NULL));
    int i;

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

    cout << i;


    return 0;
}

1 个答案:

答案 0 :(得分:9)

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

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

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

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

要了解其工作原理,请尝试使用[2, 4][3, 7]等简单示例。