返回列表 發帖

jva 104 河洛之數

1) 矩陣內數字皆不可重複出現" U, w; k) t! E4 H
(2) 程式每次執行,矩陣數字排列皆不相同
4 ~# i0 Z, A5 }+ I' 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( A: H3 j$ n1 I6 Y4 s. p/ Y- ^
{$ i, }7 W" g$ x+ T$ o& a4 W
    public static void main(String arg[])
# Z8 @# o# K2 I2 a+ C& Z& L        {, c: v8 b5 L3 ]2 a
            int num []={1,2,3,4,5,6,7,8,9};" s" T- W+ L% N$ r
        while(trun)
$ N! q8 C6 E7 l8 r; L) E5 ^                {
8 E0 p- ?6 J/ E; C+ Q$ T% j5 @) M                int r=(int)(Math.random()*9)+1;1 I" s" A% X9 t; d
                int t=num[i];
% N0 q8 `! D6 D* ^! Q                num[i]=num[r];# X( S- \! t' G4 y: s# ~
                num[r]=t;
# j; |) _4 B# a- S0 {1 }: w                int a1 = num[0] + num[1] + num[2] ;
) c  ], @3 P  t4 `( Y        int a2 = num[3] + num[4] + num[5] ;0 n' m" [# _3 o. E6 m+ {
        int a3 = num[6] + num[7] + num[8] ;7 t) Z* }5 u7 O4 _2 g( I
        int a4 = num[0] + num[3] + num[6] ;
$ ^8 a7 `' U+ `& u        int a5 = num[1] + num[4] + num[7] ;
3 L  f6 }" _* b& x/ w3 X9 }! g- u        int a6 = num[2] + num[5] + num[8] ;5 {1 ~" `2 j, @3 p
        int a7 = num[0] + num[4] + num[8] ;
7 m* S$ {( q0 G* W- Q# {" b        int a8 = num[2] + num[4] + num[6] ;
- O5 d% q8 w+ Q1 G8 s0 H                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
% n* Y; b( q: P) n3 ?            }break;            2 t! j6 Q! w% d$ D! l! ]
    }; D/ ]& |6 V' j8 e8 X: D9 V
}
小雲雀

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 X7 L& Z/ h2 ~' S+ x# y9 A1 _# H{
# O3 p* b+ N- e" B    public static void main(String arg[])
/ u4 L+ k: F. q/ K0 s        {
% U& m$ l) r. z, p2 A' n            int num []={1,2,3,4,5,6,7,8,9};6 d& y* l8 v0 F% f/ E1 C, h7 Z' Y- W
        while(trun)+ P# Y& m8 e. Q
                {6 I9 G! {) C& I' U
                int r=(int)(Math.random()*9)+1;$ G5 t# P3 @+ h* J" \/ @  v
                int t=num[i];
; E9 J, [5 f: w( z& W" K                num[i]=num[r];
! Y, U) C4 ^+ l/ _6 }" M' @" |                num[r]=t;/ ^) d8 h/ l; [; E
                int a1 = num[0] + num[1] + num[2] ;
: d! M7 i# {7 [, O" q        int a2 = num[3] + num[4] + num[5] ;% k- D5 ]" F! M' S; q: Y- i
        int a3 = num[6] + num[7] + num[8] ;9 ]9 z9 r) e, ~5 c
        int a4 = num[0] + num[3] + num[6] ;0 ^" U% Q3 ~9 w  \
        int a5 = num[1] + num[4] + num[7] ;
* a) M8 l6 E# G        int a6 = num[2] + num[5] + num[8] ;
% [- Y3 ]0 n7 `1 d" H- a        int a7 = num[0] + num[4] + num[8] ;
& c7 q2 C2 r. b" m# Z        int a8 = num[2] + num[4] + num[6] ;
. d" j  S9 r/ B                if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
5 `2 D+ K5 \( a) x8 q            }break;            
, ]$ W3 \" _$ S1 C' J    }  H0 {* S. d  q1 C6 Q5 I/ ~
}
人平

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

返回列表