1. 程式人生 > >QT 獲取某一範圍隨機數

QT 獲取某一範圍隨機數

所謂的隨機數只是一種絕對理想狀態的隨機數,計算機生成的隨機數即是隨機的又是有規律的:

    srand(1);
    for(int i =0;i<10;++i)
    {
        int randNum = rand%10;
        count<<randNum;
    }

這個生成的隨機數是 [0,6)之間的一個數,每次輸出都是一樣的序列,那麼如何讓每次輸出的序列不一樣呢?

利用系統時間:

    int seed = QDateTime::currentDateTime().time().second();
    srand(seed);
    for(int i =0;i<10;++i)
    {
        <pre name="code" class="cpp"><span style="white-space:pre">	</span>int randNum = (rand()%10)+80;
count<<randNum; }
秒是實時變得,所以seed也會變,導致每次輸出的序列不一樣。