返回列表 發帖

jva 104 河洛之數

1) 矩陣內數字皆不可重複出現
8 D; z8 Y, w# i% e- P; l(2) 程式每次執行,矩陣數字排列皆不相同
8 k* g7 s5 E& d. M& F" S% d  T(3) 矩陣之縱向、橫向、對角線數字總和皆為15
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std ;

  4. int main(){
  5.    
  6.     int a[] = {1,2,3,4,5,6,7,8,9} ;
  7.    
  8.     //亂數種子
  9.     srand(time(NULL));
  10.    
  11.     while(true){
  12.         //交換9次
  13.         for(int i=0;i<9;i++){
  14.             int r = rand()%9 ;
  15.             //交換        
  16.             int t = a[r] ;
  17.             a[r] = a[i];
  18.             a[i] = t ;
  19.         }
  20.         //列的判斷
  21.         int a1 = a[0] + a[1] + a[2] ;
  22.         int a2 = a[3] + a[4] + a[5] ;
  23.         int a3 = a[6] + a[7] + a[8] ;
  24.         //行的判斷
  25.         int a4 = a[0] + a[3] + a[6] ;
  26.         int a5 = a[1] + a[4] + a[7] ;
  27.         int a6 = a[2] + a[5] + a[8] ;
  28.         //斜的判斷
  29.         int a7 = a[0] + a[4] + a[8] ;
  30.         int a8 = a[2] + a[4] + a[6] ;
  31.          
  32.         if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15){
  33.             break;                           
  34.         }
  35.     }

  36.     cout << a[0] << " " << a[1] << " " << a[2] << endl;
  37.     cout << a[3] << " " << a[4] << " " << a[5] << endl;
  38.     cout << a[6] << " " << a[7] << " " << a[8] << endl;
  39.    
  40.     system("pause");
  41.     return 0;
  42. }
複製代碼

public class j102# J* m! S9 P& D. \2 b; j' ^
{
2 ]% U& m0 f3 e' g& t    public static void main(String arg[])
# X* K7 o$ K) q% |4 ?6 q6 i# l6 v        {
. Z, ?  x! T% T/ \$ c            int num []={1,2,3,4,5,6,7,8,9};7 G1 x2 `" A7 m+ B: x1 a
        while(trun)
7 p) |: T6 f' {  P9 ~8 j2 R                {3 ]7 ^5 }, y9 e( D9 P8 [! h( A* k
                int r=(int)(Math.random()*9)+1;
' I5 U9 t! x! A9 {. ]% q4 H9 @                int t=num[i];
' X, a/ J) O+ x: _1 q                num[i]=num[r];/ Z5 d  U9 O8 s1 p; E* d
                num[r]=t;  a# P0 R( T2 S) a- r' i4 Y; b
                int a1 = num[0] + num[1] + num[2] ;/ [' J5 K; s4 L
        int a2 = num[3] + num[4] + num[5] ;3 R8 v6 l- I9 \4 b5 }: g
        int a3 = num[6] + num[7] + num[8] ;0 |& m& |$ x. z9 @3 n. h& s
        int a4 = num[0] + num[3] + num[6] ;8 R  e6 g0 U9 w
        int a5 = num[1] + num[4] + num[7] ;$ V* A0 o/ {' i$ m2 q
        int a6 = num[2] + num[5] + num[8] ;# W. ^4 L& ?1 ^6 b
        int a7 = num[0] + num[4] + num[8] ;
7 `; ~" E/ I3 H4 ~        int a8 = num[2] + num[4] + num[6] ;
- B$ y' C; m, J; \, a                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15), j) `" A6 p4 h0 k# ]
            }break;            
; ?; e' P6 I8 C9 J( w  Z* V    }  d0 H9 y' H; a2 M& `/ R; a5 {: I1 ~
}
小雲雀

TOP

  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std ;

  4. int main(){
  5.    
  6.     int a[] = {1,2,3,4,5,6,7,8,9} ;
  7.    
  8.     //亂數種子
  9.     srand(time(NULL));
  10.    
  11.     while(true){
  12.         //交換9次
  13.         for(int i=0;i<9;i++){
  14.             int r = rand()%9 ;
  15.             //交換        
  16.             int t = a[r] ;
  17.             a[r] = a[i];
  18.             a[i] = t ;
  19.         }
  20.         //列的判斷
  21.         int a1 = a[0] + a[1] + a[2] ;
  22.         int a2 = a[3] + a[4] + a[5] ;
  23.         int a3 = a[6] + a[7] + a[8] ;
  24.         //行的判斷
  25.         int a4 = a[0] + a[3] + a[6] ;
  26.         int a5 = a[1] + a[4] + a[7] ;
  27.         int a6 = a[2] + a[5] + a[8] ;
  28.         //斜的判斷
  29.         int a7 = a[0] + a[4] + a[8] ;
  30.         int a8 = a[2] + a[4] + a[6] ;
  31.          
  32.         if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15){
  33.             break;                           
  34.         }
  35.     }

  36.     cout << a[0] << " " << a[1] << " " << a[2] << endl;
  37.     cout << a[3] << " " << a[4] << " " << a[5] << endl;
  38.     cout << a[6] << " " << a[7] << " " << a[8] << endl;
  39.    
  40.     system("pause");
  41.     return 0;
  42. }
複製代碼
★ 嘉凱~~☆

TOP

public class j102. J$ B# _& ^$ u# \; O5 W( z; K7 @
{
) C% |+ N7 R& {4 h, ]1 y' E" ~    public static void main(String arg[])
+ L$ W8 l$ j/ f. M        {
2 C8 G9 g9 }. t8 ~/ l            int num []={1,2,3,4,5,6,7,8,9};
; Y8 a1 c/ z# ~0 q: E' L1 P        while(trun)2 h$ k9 G% t# f! d# @! B
                {
# ?' p9 s+ M- d3 i                int r=(int)(Math.random()*9)+1;
# P/ b% h3 P9 z7 j. u$ m                int t=num[i];
3 ~8 }9 Y. F6 X3 @0 A                num[i]=num[r];+ p8 q* l/ J% }  F3 c
                num[r]=t;. k0 J, b- u; g) V0 X. R
                int a1 = num[0] + num[1] + num[2] ;/ a: Z* `+ |+ p; Z; w1 v4 L0 @
        int a2 = num[3] + num[4] + num[5] ;
9 v5 w* ?* G) y) y7 N/ U1 i        int a3 = num[6] + num[7] + num[8] ;
1 f: ?2 o5 G) \! v        int a4 = num[0] + num[3] + num[6] ;/ J1 i$ A$ a1 j  y
        int a5 = num[1] + num[4] + num[7] ;/ ?4 p9 U. Z8 `$ q! Q, H
        int a6 = num[2] + num[5] + num[8] ;
3 U+ x# ]+ `" h7 g+ B$ S$ t7 b        int a7 = num[0] + num[4] + num[8] ;
$ E- V$ y8 ~& V        int a8 = num[2] + num[4] + num[6] ;
1 m+ w& w1 O" @2 S6 Q% W                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)! R8 l- c: x! s5 ~3 ]
            }break;            9 v$ v) D$ a" L& ~  K
    }, \: A% i$ s- V9 \8 p
}
人平

TOP

  1. public class j104
  2. {
  3.         public static void main(String[]arg)
  4.         {
  5.         int num[]={1,2,3,4,5,6,7,8,9};
  6.                 while(true)
  7.                 {
  8.                         for(int i=0;i<9;i++)
  9.                         {
  10.                         int r=(int)(Math.random()*9);
  11.                         int t=num[i];
  12.                         num[i]=num[r];
  13.                         num[r]=t;
  14.                     }
  15.                 int a1 = num[0]+num[1]+num[2];
  16.                 int a2 = num[3]+num[4]+num[5];
  17.                 int a3 = num[6]+num[7]+num[8];
  18.                 int a4= num[0]+num[3]+num[6];
  19.                 int a5= num[1]+num[4]+num[7];
  20.                 int a6= num[2]+num[5]+num[8];
  21.                 int a7= num[0]+num[4]+num[8];
  22.                 int a8= num[2]+num[4]+num[6];
  23.          if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
  24.                  {
  25.                  break ;
  26.          }
  27.                 System.out.println("答案為:");
  28.                 System.out.println(num[0]+" "+num[1]+" "+num[2]);
  29.                 System.out.println(num[3]+" "+num[4]+" "+num[4]);
  30.                 System.out.println(num[5]+" "+num[6]+" "+num[7]);
  31.                 }
  32.         }
  33. }
複製代碼
水桶小鄭,鯰魚

TOP

附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊
May

TOP

附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊
May

TOP

附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊
陳彥綸

TOP

附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊
May

TOP

★ 嘉凱~~☆

TOP

返回列表