我試圖使用boost::random
庫來獲得真正的隨機值。這是我的代碼:使用boost :: random庫獲取整型隨機值而不是實數值
#include <iostream>
#include <boost/random/uniform_real_distribution.hpp>
#include <boost/random/mersenne_twister.hpp>
boost::random::mt19937 eng = boost::random::mt19937();
boost::random::uniform_real_distribution<double> urd =
boost::random::uniform_real_distribution<double>(0,20);
for (int i = 0; i <= 100; i++)
std::cout << urd(eng) << std::endl;
,但我得到0和20
我該怎麼辦之間的整數?
我也嘗試另一個引擎:
#include <iostream>
#include <boost/random/uniform_real_distribution.hpp>
#include <boost/random/lagged_fibonacci.hpp>
boost::random::lagged_fibonacci607 eng = boost::random::lagged_fibonacci607();
boost::random::uniform_real_distribution<double> urd =
boost::random::uniform_real_distribution<double>(0,20);
for (int i = 0; i <= 100; i++)
std::cout << urd(eng) << std::endl;
但沒有......(總是整數值)
什麼你的意思是什麼?你沒有輸出或意外/意外輸出? – 2012-07-09 23:33:44
這意味着我總是得到整數隨機值 – Andry 2012-07-09 23:39:17
您的示例代碼完全適合我。 2.50366 6.34199 15.275 19.0044 9.81178 0.688922 13.2722 8.77489 2.51793 7.63117 4.20418 15.3103 ... – 2012-07-10 00:28:37