獲得隨機數

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

//被4整除的餘數範圍是0~3,如果用rand函數返回的隨機數除以所需數字的範圍長度(即範圍內數的數量),便會返回0到最大範圍之間的值(不包含最大值)
int randRange(int low,int high){

    return rand() % (high-low+1) + low; //假設目標是0~10,則有11種可能出現的值 ,最後加上low,假設
     //想獲取10到20之間的數,通過上面的方法只能獲得0到10之間的隨機數,再加10才能將範圍設定到10到20之間
}

int main() {
    /*當發現bug時,可以使用相同的隨機種子可以最快找到bug ,例如如果種子是35434333,可以使int srand_seed = 35434333,這樣每次程序運行都得到可預期的值*/
    int srand_seed = time(NULL);   //記錄每次運行的種子值,方便測試
    cout << srand_seed << endl;
    //srand函數將某個數字設置爲種子,需包含cstdlib頭文件
    srand( srand_seed );  //上面三行也可以合成srand( time(NULL) ); 該函數在最開始處調用
    for (int i = 0; i <1000 ; ++i) {
        cout<<randRange(4,10) <<endl;
    }
       return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章