返回列表 發帖

[隨堂測驗] 產生不重複之隨機亂數 (二)

假設箱子裡裝了38顆球,每顆球上皆印有號碼 (1 ~ 38),試模擬自箱子取出10顆球,你會拿到哪些號碼的球呢?(每取出一顆球皆花費 0.5 秒)



本帖隱藏的內容需要回復才可以瀏覽

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a[10];
  7.     cout<<"我拿到的球為:";
  8.     for(int i=0; i<=9; i++)
  9.     {
  10.         re:
  11.         a[i]=rand()%38+1;
  12.         for(int j=0; j<i; j++)
  13.         {
  14.             if(a[i]==a[j])
  15.             {
  16.                 goto re;
  17.             }
  18.         }
  19.     }
  20.     for(int i=0; i<=9; i++)
  21.     {
  22.         cout<<a[i]<<" ";
  23.         _sleep(500);
  24.     }
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int a, b, c, r;
  9.     for(int i=1; i<=1; i++){
  10.         int a=-1, b=-1, c=-1;
  11.         for(int j=1; j<=10; j++){
  12.             r=rand()%38;
  13.             if(a!=r && b!=r && c!=r){
  14.                 cout<<r<<" ";
  15.                 c=b;
  16.                 b=a;
  17.                 a=r;
  18.             }
  19.             else{
  20.                 j--;
  21.             }
  22.         }
  23.         cout<<endl;
  24.         _sleep(500);
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int a[]{0,0,0,0,0,0,0,0,0,0};
  9.     for(int i=0; i<=9; i++)
  10.     {

  11.         re:
  12.         a[i]=rand()%38+1;
  13.         for(int j=0; j<i; j++)
  14.         {
  15.             if(a[i]==a[j])
  16.             {

  17.                 goto re;
  18.             }
  19.         }





  20.     }
  21.     for(int i=0; i<=9; i++)
  22.     {
  23.         cout<<a[i]<<"  ";
  24.         _sleep(500);
  25.     }
  26.     system("pause");
  27.     return 0;
  28. }
複製代碼

TOP

返回列表