c++中random的方法


參考博客

https://www.cnblogs.com/xiaoniu-666/p/9701347.html

rand方法

rand()不需要參數,它會返回一個從0到最大隨機數的任意整數,最大隨機數的大小通常是固定的一個大整數。 這樣,如果你要產生0~10的10個整數,可以表達為: 

int N = rand() % 11; 

這樣,N的值就是一個0~10的隨機數,如果要產生1~10,則是這樣: 

int N = 1 + rand() % 10;

總結來說,可以表示為:

a + rand() % n 

random庫使用

c++11才有的方法

#include <iostream> 
#include <random>
using namespace std;
int main()      
{       
    default_random_engine e;       
    for (size_t i = 0; i < 10; ++i) //生成十個隨機數       
       cout << e() << endl;       
    cout << "Min random:" << e.min() << endl; //輸出該隨機數引擎序列的范圍       
    cout << "Max random:" << e.max() << endl;       
    return 0;       
}

--修改隨機種子

#include <iostream>
#include <random>
using namespace std;
int main()
{
    default_random_engine e; //或者直接在這里改變種子 e(10) 
    e.seed(10); //設置新的種子
    for (size_t i = 0; i < 10; ++i)
       cout << e() << endl;
    cout << "Min random:" << e.min() << endl;
    cout << "Max random:" << e.max() << endl;
    
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM