Board logo

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

作者: 方浩葦    時間: 2024-7-27 11:17     標題: 產生不重複之隨機亂數

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



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

作者: 劉奕劭    時間: 2024-8-3 15:32

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     int a[]{0,0,0,0};
  7.     for(int i=1; i<=20; i++)
  8.     {
  9.         re:
  10.         for(int j=0; j<=3; j++)
  11.         {
  12.             a[j]=rand()%10;

  13.         }
  14.         if(a[0]==a[1]||a[0]==a[2]||a[0]==a[3]||a[1]==a[2]||a[1]==a[3]||a[2]==a[3]){
  15.             goto re;
  16.         }
  17.         cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;
  18.         _sleep(50);
  19.     }

  20.     system("pause");
  21.     return 0;
  22. }
複製代碼

作者: 李唯銘    時間: 2024-8-3 15:49

  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<=20; i++){
  10.         int a=-1, b=-1, c=-1;
  11.         for(int j=1; j<=4; j++){
  12.             r=rand()%10;
  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. }
複製代碼

作者: 陳妍蓁    時間: 2024-8-3 16:08

本帖最後由 陳妍蓁 於 2024-8-3 16:19 編輯
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<ctime>
  4. using namespace std;
  5. int main(){
  6. srand(time(NULL));
  7.     cout<<"4個介於0~9之不重複隨機亂數:"<<endl;
  8.     int n[]={0,0,0,0};
  9.     for(int i=1;i<=20;i++){

  10.         for(int j=0;j<=3;j++){
  11.         n[j]=rand()%10;

  12.         if(n[0]==n[1] || n[0]==n[2] || n[0]==n[3] || n[1]==n[2] || n[1]==n[3] || n[2]==n[3])
  13.         {
  14.             j--;
  15.             break;
  16.         }
  17.         cout<<n[j];

  18.      }
  19.      cout<<endl;
  20.      _sleep(500);

  21.     }
  22.     system("pause");
  23.     return 0;


  24. }
複製代碼

作者: 洪榮辰    時間: 2024-8-3 16:22

  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};
  9.     cout<<"4個介於0~9的隨機亂數:"<<endl;
  10.     for(int i=1; i<=20; i++)
  11.     {
  12.         re:
  13.         for(int j=1; j<=4; j++)
  14.         {
  15.             a[j]=rand()%10;
  16.         }
  17.         if(a[0]==a[1] && a[0]==a[2] && a[0]==a[3] && a[1]==a[2] && a[1]==a[3] && a[2]==a[3])
  18.         {
  19.             goto re;
  20.         }
  21.         cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;
  22.         _sleep(500);
  23.     }
  24.     system("pause");
  25.     return 0;
  26. }
複製代碼





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