返回列表 發帖

jva 104 河洛之數

1) 矩陣內數字皆不可重複出現+ W1 j  _! k1 l  \
(2) 程式每次執行,矩陣數字排列皆不相同
( B) s* k- V. y. H+ N" ?. ?(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+ F6 e, ^( I2 n% t" w! k' B( \' d
{
: w2 n/ t5 o' K! _    public static void main(String arg[])
7 e% l6 P# Q: }+ D) g        {% e- k9 r; Q- c1 X$ Z
            int num []={1,2,3,4,5,6,7,8,9};
" |" }& A8 [# b& p        while(trun)$ @$ d4 x- ^3 h( |7 Q3 t
                {
' I1 r/ m$ r7 _- L7 a- {* f                int r=(int)(Math.random()*9)+1;
: ~3 J" _5 m3 E# F4 ]                int t=num[i];
) S; l+ {. t' G4 o; ]8 |9 d2 i) ]                num[i]=num[r];
+ C% p4 c# N: {; ]$ V                num[r]=t;
8 ?; f# K+ z: T7 Z( ]+ S0 o: t" a                int a1 = num[0] + num[1] + num[2] ;
4 I* j: M7 [( e5 _" {7 `2 g8 G* J/ Y( L        int a2 = num[3] + num[4] + num[5] ;
( J2 ^2 e! v) k1 d9 p3 w9 [* N        int a3 = num[6] + num[7] + num[8] ;
; a& D8 p9 w# C        int a4 = num[0] + num[3] + num[6] ;0 l7 v. q2 _- P9 R. U
        int a5 = num[1] + num[4] + num[7] ;
- ]; t" o3 D1 E9 J; g        int a6 = num[2] + num[5] + num[8] ;7 G3 F7 U" `% j, Q; e" p( j
        int a7 = num[0] + num[4] + num[8] ;$ o* h& y0 N6 r" Q; n7 R
        int a8 = num[2] + num[4] + num[6] ;6 f: n' ], m2 }9 I6 _
                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
7 V$ n% t1 `/ t            }break;            # u) D- i8 ?* Z' i5 T! P
    }
! S& J7 C8 x* l2 `) C, c}
小雲雀

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
# I5 _& S- F6 J! x% H3 l{3 Z3 S- H  y& J" a! }! B4 x5 ]$ s1 s4 F
    public static void main(String arg[])# f  U7 g% L' N; [
        {  h+ {! B" O3 N' v, A" c
            int num []={1,2,3,4,5,6,7,8,9};
: T& ]7 h* [* c        while(trun)6 \9 u5 H' t! R) y+ J" ?* n
                {
7 u! g: ]5 t; E3 K' t. m                int r=(int)(Math.random()*9)+1;4 y8 z4 ~  p" e" ^( a3 b; i5 F
                int t=num[i];
6 B5 @: [5 ?1 d6 J                num[i]=num[r];
  ]+ i" w" m: A+ \+ t7 m( N                num[r]=t;
1 U( V5 y5 v2 k8 r8 s                int a1 = num[0] + num[1] + num[2] ;1 s* y% p+ q- U* y2 \) V
        int a2 = num[3] + num[4] + num[5] ;7 I. a, H4 A+ q) T0 s
        int a3 = num[6] + num[7] + num[8] ;; _& I# Y0 ~7 F5 Z
        int a4 = num[0] + num[3] + num[6] ;
7 w9 }  B& h0 v* P" ]        int a5 = num[1] + num[4] + num[7] ;
- z0 Q( ~2 p  w# C, j9 H        int a6 = num[2] + num[5] + num[8] ;- D/ q1 K( J3 g
        int a7 = num[0] + num[4] + num[8] ;: |, b0 Z) \+ c; f3 ?
        int a8 = num[2] + num[4] + num[6] ;2 w5 M; l1 d4 x0 |% R
                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)1 W+ y. b% m+ V
            }break;            5 W' k7 a9 J: c. j7 k  T( y
    }
8 q3 ^/ q9 y" B0 Z5 |. S}
人平

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

返回列表