本帖最後由 鄭繼威 於 2023-7-27 18:22 編輯
連續2行一樣=>機率很低
連續2行一樣+4數一樣+>機率極低
- #include<iostream>
- #include<cstdlib>
- #include<ctime>
- #include<algorithm>
- #include <iterator>
- using namespace std;
- int main(){
-
- srand(time(NULL));
-
- int n[4],temp[4];
- int counter=0,chk;
-
- for(;;)
- {
- counter++;
- //搞定陣列
- for(int j=0;j<=3;j++)
- {
- n[j]=rand()%10;
- cout<<n[j]<<" ";
- }
- cout<<endl;
-
- //檢查2個陣列是否一樣
- chk=0;
- for(int i=0;i<=3;i++)
- {
- if(temp[i]==n[i])
- {
- chk++;
- }
- }
-
- //將n陣列複製到temp陣列
- copy(n,n+4,temp);
-
- //檢查陣列裡的4個數字是否一樣
- if(chk==4 and (n[0]==n[1] and n[1]==n[2] and n[2]==n[3]))
- {
- cout<<"\n執行"<<counter<<"次\n"<<endl;
- printf("機率:%.3f",1/counter);
- break;
- }
-
- }
- system("pause");
- return 0;
- }
複製代碼 |