是否可以在C ++中生成特定数字的随机倍数?
假设我想生成16的倍数而且只生成16,这将如何实现呢?
答案 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);
}