1) 矩陣內數字皆不可重複出現' N0 j8 W7 q) ?1 X. k
(2) 程式每次執行,矩陣數字排列皆不相同/ R9 d7 o& _6 l3 q1 ^
(3) 矩陣之縱向、橫向、對角線數字總和皆為15- #include <iostream>
- #include <cstdlib>
- using namespace std ;
- int main(){
-
- int a[] = {1,2,3,4,5,6,7,8,9} ;
-
- //亂數種子
- srand(time(NULL));
-
- while(true){
- //交換9次
- for(int i=0;i<9;i++){
- int r = rand()%9 ;
- //交換
- int t = a[r] ;
- a[r] = a[i];
- a[i] = t ;
- }
- //列的判斷
- int a1 = a[0] + a[1] + a[2] ;
- int a2 = a[3] + a[4] + a[5] ;
- int a3 = a[6] + a[7] + a[8] ;
- //行的判斷
- int a4 = a[0] + a[3] + a[6] ;
- int a5 = a[1] + a[4] + a[7] ;
- int a6 = a[2] + a[5] + a[8] ;
- //斜的判斷
- int a7 = a[0] + a[4] + a[8] ;
- int a8 = a[2] + a[4] + a[6] ;
-
- if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15){
- break;
- }
- }
- cout << a[0] << " " << a[1] << " " << a[2] << endl;
- cout << a[3] << " " << a[4] << " " << a[5] << endl;
- cout << a[6] << " " << a[7] << " " << a[8] << endl;
-
- system("pause");
- return 0;
- }
複製代碼 |