C++亂數
亂數其實打一下標頭檔和程式碼就好,沒啥難的,很多遊戲也都拿它來用,當然給他學起來啦
產生固定亂數:
using namespace std;
int main()
{
cout << rand() << endl;
cout << rand() << endl;
cout << rand() << endl;
}
執行結果:
不管你執行多少次,他答案就是那些數字,這叫固定的亂數
種子亂數:
- srand 他是來設定亂數的起始,所以一定要設定在rand之前喔
int main()
{
unsigned seed;
cout << "請輸入種子數";
cin >>seed;
srand(seed);
cout << rand() << endl;
cout << rand() << endl;
cout << rand() << endl;
}
執行結果:
若輸入的種子數一樣,則它的結果會一樣。也就是不同種子數產生不同亂數,所以他還是有規則的
到底啥時可以用出隨機亂數阿,大家應該可以想到吧,就是讓種子數一直改變就行啦
產生隨機亂數:
就是用這個啦~~~ 巴巴巴>0< /~(丟)----> time(*指標)
- *指標可以是空指標或指向time_t型態的變數指標,NULL是定義cstdlib與ctime標頭檔中常數為0
using namespace std;
int main()
{
srand(time(NULL));
cout << rand() << endl;
cout << rand() << endl;
cout << rand() << endl;
}
那怎麼條它的範圍勒~~
請背公式:
下限+rand()%(上限-下限+1)------>下限<= x <=上限
int main()
{
srand(time(NULL));
cout << 1+rand()%(10-1+1) << endl;
cout << 1+rand()%(10-1+1) << endl;
cout << 1+rand()%(10-1+1) << endl;
}
END