1. 程式人生 > >控制 C++生成隨機數的範圍

控制 C++生成隨機數的範圍

C++的隨機數函式為rand(), 可以獲得一個非負整數的隨機數。
要讓隨機數限定在一個範圍,可以採用模除加加法的方式。
要產生隨機數r, 其範圍為 m<=r<=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理為,對於任意數,
0<=rand()%(n-m+1)<=n-m
於是
0+m<=rand()%(n-m+1)+m<=n-m+m

m<=rand()%(n-m+1)+m<=n