返回列表 發帖

亂數 - 隨機亂數

本帖最後由 鄭繼威 於 2022-12-7 20:05 編輯

在預設的情況下,rand()的隨機種子(seed :指起始點,即最小值) 是1,而相同的隨機種子產生的結果都是一樣的。那初始值該給多少?初始值給固定的值都沒用,要會隨著環境變動的值才有意義,像是 記憶體使用量、process id 、CPU 使用率等,這些都是會隨環境變動,但有些變動性可能不大,而最常用來給初始值的,是時間,所以程式可以修改如下:

搭配時間函式,產生20組隨機亂數。

time(NULL)可回傳,從格林威治時間 1970年1月1號 0時0分0秒開始到現在的秒數
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=1; i<=20; i++)
  9.         cout<<rand()<<endl;
  10.     system("pause");   
  11.     return 0;
  12. }
複製代碼

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=1; i<=20; i++)
  9.         cout<<rand()<<endl;
  10.     system("pause");   
  11.     return 0;
  12. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     cout<<rand()<<endl;
  9.     system("pause");   
  10.     return 0;
  11. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=1; i<=20; i++)
  9.         cout<<rand()<<endl;
  10.     system("pause");   
  11.     return 0;
  12. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=1; i<=20; i++)
  9.         cout<<rand()<<endl;
  10.     system("pause");   
  11.     return 0;
  12. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;

  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=1;i<=20;i++)
  9.     {
  10.         cout<<rand()<<endl;
  11.     }


  12.     return 0;
  13. }
複製代碼

TOP

返回列表