Board logo

標題: 產生不重複之隨機亂數 [打印本頁]

作者: tonyh    時間: 2020-3-20 19:42     標題: 產生不重複之隨機亂數

試產生20組4個範圍介於0~9, 不重複之隨機亂數.



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

作者: 黃宥華    時間: 2020-3-20 20:03

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     int sum;
  8.     srand(time(NULL));
  9.     for(int i=1;i<=20;i++){
  10.         int n[4]={11,11,11,11};   
  11.         for(int o=1;o<=4;o++){
  12.             s:
  13.             sum=rand()%10;
  14.             if(sum==n[0] || sum==n[1] || sum==n[2] || sum==n[3]){
  15.                 goto s;
  16.             }else{
  17.                 n[o-1]=sum;
  18.             }
  19.             cout<<n[o-1]<<" ";
  20.         }
  21.         cout<<endl;
  22.         _sleep(500);
  23.    
  24.     }
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

作者: 孫嘉駿    時間: 2020-3-20 20:04

本帖最後由 孫嘉駿 於 2020-3-20 20:20 編輯
  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=0; i<20; i++)
  9.     {
  10.          int n[4];
  11.          for(int j=0; j<4; j++)
  12.          {
  13.               n[j]=rand()%10;  
  14.               for(int z=0; z<j; z++)
  15.               {
  16.                    if(n[j]==n[z])
  17.                    {
  18.                        j--;
  19.                        break;              
  20.                    }
  21.               }
  22.          }  
  23.          for(int j=0; j<4; j++)
  24.          {
  25.               cout<<n[j]<<" ";
  26.          }
  27.          cout<<endl;
  28.          _sleep(500);
  29.     }
  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼

作者: 林政瑜    時間: 2020-3-20 20:05

本帖最後由 林政瑜 於 2020-3-20 20:24 編輯
  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=0; i<20; i++)
  9.     {
  10.          int n[4];
  11.          for(int j=0; j<4; j++)
  12.          {
  13.               n[j]=rand()%10;  
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[j]==n[k])
  17.                    {
  18.                        j--;
  19.                        break;              
  20.                    }
  21.               }
  22.          }  
  23.          for(int j=0; j<4; j++)
  24.          {
  25.               cout<<n[j]<<" ";
  26.          }
  27.          cout<<endl;
  28.          _sleep(500);
  29.     }
  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼

作者: 李宇澤    時間: 2020-3-20 20:05

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

作者: 陳宥穎    時間: 2020-3-20 20:20

  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=0; i<20; i++)
  9.     {
  10.          int n[4];
  11.          for(int j=0; j<4; j++)
  12.          {
  13.               n[j]=rand()%10;  //0~9
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[j]==n[k])
  17.                    {
  18.                        j--;
  19.                        break;              
  20.                    }
  21.               }
  22.          }  
  23.          for(int j=0; j<4; j++)
  24.          {
  25.               cout<<n[j]<<" ";
  26.          }
  27.          cout<<endl;
  28.          _sleep(500);
  29.     }
  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼

作者: 余有晉    時間: 2020-3-20 20:22

  1. #include<iostream>
  2. #include<iostream>
  3. #include<cstdlib>
  4. #include<ctime>
  5. using namespace std;
  6. int main()
  7. {
  8.     srand(time(NULL));
  9.     cout<<"4­Ó¤¶©ó0~9¤§ÀH¾÷¶Ã¼Æ:"<<endl;
  10.     for(int i=1; i<=200; i++)
  11.     {
  12.         cout<<rand()%10<<" "<<rand()%10<<" "<<rand()%10<<" "<<rand()%10<<endl;
  13.         _sleep(50);
  14.     }
  15.     system("pause");
  16.     return 0;   
  17. }
複製代碼

作者: 蔡忻霓    時間: 2020-3-20 20:24

  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=0; i<20; i++)
  9.     {
  10.          int n[4];
  11.          for(int j=0; j<4; j++)
  12.          {
  13.               n[j]=rand()%10;  
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[j]==n[k])
  17.                    {
  18.                        j--;
  19.                        break;              
  20.                    }
  21.               }
  22.          }  
  23.          for(int j=0; j<4; j++)
  24.          {
  25.               cout<<n[j]<<" ";
  26.          }
  27.          cout<<endl;
  28.          _sleep(500);
  29.     }
  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼

作者: 董宸佑    時間: 2020-3-20 20:24

  1. #include<cstdlib>
  2. #include<iostream>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     for(int i=0; i<20; i++)
  9.     {
  10.          int n[4];
  11.          for(int j=0; j<4; j++)
  12.          {
  13.               n[j]=rand()%10;  //0~9
  14.               for(int k=0; k<j; k++)
  15.               {
  16.                    if(n[j]==n[k])
  17.                    {
  18.                        j--;
  19.                        break;              
  20.                    }
  21.               }
  22.          }  
  23.          for(int j=0; j<4; j++)
  24.          {
  25.               cout<<n[j]<<" ";
  26.          }
  27.          cout<<endl;
  28.          _sleep(500);
  29.     }
  30.     system("pause");
  31.     return 0;   
  32. }
複製代碼

作者: 黃辰昊    時間: 2020-3-27 18:40

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main()
  6. {
  7.     srand(time(NULL));
  8.     int n[4];
  9.     cout<<"4個介於0~9的不重複之隨機亂數:";
  10.     for(int i=1; i<=20; i++)
  11.     {
  12.         for(int j=0; j<4; j++)
  13.         {
  14.             n[j]=rand()%10;
  15.             for(int k=0; k<j; k++)
  16.             {
  17.                 if(n[j]==n[k])
  18.                 {
  19.                     j--;
  20.                     break;
  21.                 }
  22.             }
  23.         }
  24.         for(int j=0; j<4; j++)
  25.             cout<<n[j]<<" ";
  26.         cout<<endl;
  27.     }
  28.     system("pause");
  29.     return 0;
  30. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2