返回列表 發帖

jva 104 河洛之數

1) 矩陣內數字皆不可重複出現* I9 J7 }' \  U4 f- o' X8 f) `
(2) 程式每次執行,矩陣數字排列皆不相同
1 v3 S4 Q3 y) L1 `0 S  G(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 j1025 ~" a/ Y. }* X! `3 S# J
{& k" i6 d- A% Z) R- P; ~7 G
    public static void main(String arg[])+ M1 n1 j9 }* E& k
        {% }4 i, j! i$ _
            int num []={1,2,3,4,5,6,7,8,9};
' q' ^# \' A' g0 p" i        while(trun)
4 H, y9 `. e" r5 i# Z. a                {
3 I+ b  u& W9 X                int r=(int)(Math.random()*9)+1;
# ~1 g# P- s) }/ ~1 N3 H% l& ?! f                int t=num[i];! |, b& H% O  O$ ]7 n
                num[i]=num[r];) O, N) S- o) w$ e* r
                num[r]=t;
( o& {- c0 g' q/ T) D' A                int a1 = num[0] + num[1] + num[2] ;
! L0 ~: H2 C- m8 L  V+ D        int a2 = num[3] + num[4] + num[5] ;
* ?& Y; K1 n% ]3 ~9 v- F& x8 |/ g        int a3 = num[6] + num[7] + num[8] ;+ Z! R  y. ~- d' ?* G) Y
        int a4 = num[0] + num[3] + num[6] ;( G6 I* V. u+ ]( E/ u) W# P
        int a5 = num[1] + num[4] + num[7] ;! ]" T* ?2 \6 f. h$ G+ ~# u% k3 k: }5 M$ @
        int a6 = num[2] + num[5] + num[8] ;/ b; }# ?; t+ F+ j" d
        int a7 = num[0] + num[4] + num[8] ;
1 ]( a) o: a  f- E% t! E9 d+ p7 f; C        int a8 = num[2] + num[4] + num[6] ;* m0 p$ q: g0 o# s  d
                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
& p6 g! u! `8 i            }break;            ' I; F/ ~; a- M+ Q" j. g: D8 b
    }; d) L; ]* S- Q$ z: D- W
}
小雲雀

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
/ a/ I/ _+ D0 w! y  E% B! y{
  z" ~. e4 y* j  I' `+ a/ q, J    public static void main(String arg[])7 w% T* c1 X' y# \$ w
        {
0 [/ j- a% _' Q5 d7 e" G6 B            int num []={1,2,3,4,5,6,7,8,9};0 h7 ?0 I# O/ [, {
        while(trun)
1 D* E' L1 h$ M/ f* R                {
% P  O9 p0 s% O# R# D/ i                int r=(int)(Math.random()*9)+1;
0 G. U/ W9 q- t( N+ l- B! N  y  |9 V                int t=num[i];
' c) T, Q1 v6 f' @  K* A                num[i]=num[r];! p4 N$ T% c4 w* e; ]4 J6 x* y
                num[r]=t;. _" i8 R! y& a7 `
                int a1 = num[0] + num[1] + num[2] ;
3 s/ x) L1 q( }        int a2 = num[3] + num[4] + num[5] ;
7 {0 [/ y1 j) M" V        int a3 = num[6] + num[7] + num[8] ;; z7 V3 P0 ^  `
        int a4 = num[0] + num[3] + num[6] ;( J: b3 H$ B$ f# r" ^1 W
        int a5 = num[1] + num[4] + num[7] ;" V( I8 h# L( T+ g1 p' Y2 `
        int a6 = num[2] + num[5] + num[8] ;
! U. l: {6 g; x& N        int a7 = num[0] + num[4] + num[8] ;
; G  h- s3 s; T7 ?2 r/ f        int a8 = num[2] + num[4] + num[6] ;
, S+ ?. r# X" ~7 K- c' B2 W                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
. m5 J& N/ B  L* i& z            }break;              V' {% T7 B0 D; Q& |" m
    }
: `7 x2 e1 D9 [' |5 M}
人平

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

返回列表