C ++随机生成16的倍数

时间:2016-04-10 06:29:38

标签: c++

是否可以在C ++中生成特定数字的随机倍数?
假设我想生成16的倍数而且只生成16,这将如何实现呢?

1 个答案:

答案 0 :(得分:1)

您可以使用<random>标题(C++11)生成随机数:

int get_random()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(1, 20); // range 1 - 20
    return dis(gen);
}

乘以16

int main()
{
    std::vector<int> nums;
    for (int i{}; i != 5; ++i)
        nums.emplace_back(get_random() * 16);
}