我想生成0和1之間的隨機數(包括0和1),但小數點後只有3個分數,如下所示:如何生成[0,1]和3分數之間的隨機數
0.000, 0.214, 0.523, 0.451, 0.102, 1.000
小數點後三位的目的不適用於打印。我想實施蒙特卡羅技術來獲得PI的價值。所以這是爲if
聲明。因此,我希望將隨機值分配給一個變量是這樣的:
double x = 0.241;
我想生成0和1之間的隨機數(包括0和1),但小數點後只有3個分數,如下所示:如何生成[0,1]和3分數之間的隨機數
0.000, 0.214, 0.523, 0.451, 0.102, 1.000
小數點後三位的目的不適用於打印。我想實施蒙特卡羅技術來獲得PI的價值。所以這是爲if
聲明。因此,我希望將隨機值分配給一個變量是這樣的:
double x = 0.241;
使用隨機函數來calculare 0和1000之間的隨機數,然後將其劃分爲1000 注意的是,當你使用時間功能來生成隨機數,你會得到相同的數,直到PC時鐘有同樣的v ALUE 例如:
11:20:20 PM > generate random number: 10
11:20:20 PM > generate random number: 10
11:20:20 PM > generate random number: 10
11:20:21 PM > generate random number: 989
所以,每秒產生一個數字或者找一些黑客(你可以用谷歌輕鬆找到它,一個地段上計算器的答案已經給出)
他們是否有均勻分散式?簡單地說,你可以使用rand()來產生100和999之間的隨機數,併除以1000.取決於這個(差)的隨機性對你來說是否足夠。 – 2014-10-18 22:18:21
被警告'double'不能*只存儲* 3個小數的所有分數。爲什麼不使用整數並避免你似乎試圖解決的問題? (因爲它提示[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。) – usr2564301 2014-10-18 22:34:43
您可以將限制設置爲0 ... 1000 ,然後將結果除以1000得到0.000到1.000的範圍 – user3629249 2014-10-18 23:16:40