2016-04-10 148 views
-2

是否可以在C++中生成一個特定數字的隨機倍數?
假設我想生成16的倍數,只有16的倍數,這將如何完成?C++隨機生成16的倍數

+1

生成隨機值並乘以16。誠實地說,所有需要回答的單詞在你的問題中都存在*。 – WhozCraig

回答

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); 
}