返回列表 發帖

jva 104 河洛之數

1) 矩陣內數字皆不可重複出現; R5 q1 B3 p4 ]( Y7 t! O8 z: |
(2) 程式每次執行,矩陣數字排列皆不相同5 F) f; {: p- L' b+ ~+ w
(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
3 Z. u% C3 S& j  q4 b{
7 o; s3 a) I: b2 Y  z2 m: p    public static void main(String arg[]): ]  H$ S- Q0 i& L- @
        {
0 f# Q7 K; y$ r. a* E- U8 Q            int num []={1,2,3,4,5,6,7,8,9};$ D- [- P& m* b) f
        while(trun)% t/ F1 H, S4 F5 w0 \/ y5 M
                {& h3 R4 |* I5 X8 [' v
                int r=(int)(Math.random()*9)+1;
2 o1 ]1 ?5 Q  D) {                int t=num[i];& `3 E2 Y8 N1 G2 A# n( A
                num[i]=num[r];
: W( ~$ N) a" V! k5 d/ c                num[r]=t;
% D) U% _6 P5 `+ N                int a1 = num[0] + num[1] + num[2] ;
( C) L4 [6 T/ A" j) ~9 a  {( m        int a2 = num[3] + num[4] + num[5] ;
4 e) T  [% J7 ?" O; V$ L* D  L1 u2 ]        int a3 = num[6] + num[7] + num[8] ;+ \1 P/ d2 |5 e$ o
        int a4 = num[0] + num[3] + num[6] ;5 j# N2 Z/ r4 q- {, |
        int a5 = num[1] + num[4] + num[7] ;
  u% a4 U7 y4 D! u! X' L8 d        int a6 = num[2] + num[5] + num[8] ;
. K7 \2 A" e7 k" _        int a7 = num[0] + num[4] + num[8] ;# W2 l8 s( {" f6 K* P2 I0 i' l
        int a8 = num[2] + num[4] + num[6] ;* \8 a. ~/ l( J" q6 j
                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15), X5 T  b7 ?3 L( Y0 J5 E6 ^4 j
            }break;            
/ E9 t3 V  [. z* A! L# C) F. I1 m    }, g& y" _" }5 M: x- K1 [! I/ K
}
小雲雀

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
4 M& L( q3 n- y6 p5 J! O+ m{( Y, H( g% F7 T
    public static void main(String arg[])  ^3 U  ^" I( Z4 y' u. E% d! s
        {/ N+ g6 }+ W6 `$ U
            int num []={1,2,3,4,5,6,7,8,9};
, v. q7 H" a# D        while(trun)# Y7 ^7 ^0 W* j/ A
                {9 h/ P  `( ?5 d
                int r=(int)(Math.random()*9)+1;
* E, `/ B$ Z, c* V1 F                int t=num[i];. S( i4 H* \" Z# H% M
                num[i]=num[r];$ p( p# S6 c3 g% I. _/ P
                num[r]=t;& ]' K3 m- ]9 e3 Q, [3 D5 m
                int a1 = num[0] + num[1] + num[2] ;$ d, h& q) t3 Y8 `* f0 e" t* T! u. Y
        int a2 = num[3] + num[4] + num[5] ;
6 P+ b9 Z+ t7 l6 F! z        int a3 = num[6] + num[7] + num[8] ;. e+ {5 p2 L. @
        int a4 = num[0] + num[3] + num[6] ;% I/ W# K1 x  N# S9 m/ z; t, @
        int a5 = num[1] + num[4] + num[7] ;
# p% D& j- s8 U- A/ c        int a6 = num[2] + num[5] + num[8] ;. |' H0 q2 T+ b) I, n
        int a7 = num[0] + num[4] + num[8] ;
+ m; A' i8 r, S1 u        int a8 = num[2] + num[4] + num[6] ;
* K9 Q1 h3 e! w% }' i                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
( B& _4 h& X6 D- Y            }break;            
* ?. {/ r3 x6 J6 Q% H, r* ^    }
1 c) P2 U& h7 }9 L( ]# D/ f}
人平

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

返回列表