標頭檔案
內容 rand,srand函式和rand_max常量
rand_max 在windows系統中為32767 ,在類unix系統中為2147483647
rand()函式返回乙個0~rand_max的隨機整數
srand(seed)函式 接受unsigned int 型別的引數seed,以seed為隨機種子,rand()基於此生成隨機數,如果不寫srand函式,則種子預設為1
若要產生隨機實數,先產生較大的隨機整數
隨機生成 n<=10^5個絕對值在10^9之內的整數
//隨機生成整數序列
#includeusing
namespace
std;
#define maxn 100000+10
inta[maxn];
int random(int
n)int
main()
隨機生成 m個 [1,n]的子區間,這些區間可作為資料結構題目的操作序列
//隨機生成區間列
#includeusing
namespace
std;
#define maxn 100000+10
int random(int
n)int
main()
return0;
}
隨機生成一棵n個節點的樹,用n個點,n-1條無向邊形式輸出,每條邊附帶乙個10^9以內的權值
//隨機生成樹
#includeusing
namespace
std;
#define maxn 100000+10
int random(int
n)int
main()
return0;
}
隨機生成一張n個點m條邊的無向圖,圖中不存在重邊自環,且必須連通,保證 5<=n<=m<=n*(n-1)/4<=10^6
//隨機生成圖
#includeusing
namespace
std;
#define maxn 10000
intn,m;
pair
e[maxn];
map< pair,bool >h;
int random(intx)
intmain()
for(int i=n;i<=m;i++)
while(x==y||h[make_pair(x,y)]);
e[i]=make_pair(x,y);
h[e[i]]=h[make_pair(y,x)]=1
; }
random_shuffle(e+1,e+1+m);
for(int i=1;i<=m;i++)
return0;
}
MATLAB隨機數生成器
1 rand 生成 0,1 區間上均勻分布的隨機數 基本語法 rand m,n,p 生成排列成m n p 多維向量的隨機數。如果只寫m,則生成m m矩陣 如果引數為 m,n 可以省略方括號。2 randn 生成服從標準正太分布 均值為0,方差為1 的隨機數 基本語法 randn m,n,p,解釋同1...
隨機數生成器,隨機種子
遊戲中經常要用到隨機數,但如果乙個沒有隨機種子的的生成器,就沒法重複之前的隨機數了。js的math.random就用不了隨機種子,只好自己弄了乙個,有了隨機種子,每次只要傳入相同的種子,都會得到同樣的隨機數。直接 function seededrandom seed,min,max 這是一種偽隨機數...
boost基礎 隨機數生成器
include for time 0 boost minstd rand generator time 0 用於生成 隨機數 boost uniform int uni dist 0,5 指定均勻分布的區間,包含兩個端點,取整數值 boost variate generator minstd ran...