標題:
jva 104 河洛之數
[打印本頁]
作者:
b790113g
時間:
2011-12-31 10:58
標題:
jva 104 河洛之數
1) 矩陣內數字皆不可重複出現
, a( j. ?. `! N# @* X. x: |6 g
(2) 程式每次執行,矩陣數字排列皆不相同
2 [- H- o7 Q+ A I. {' \
(3) 矩陣之縱向、橫向、對角線數字總和皆為15
#include <iostream>
#include <cstdlib>
using namespace std ;
int main(){
int a[] = {1,2,3,4,5,6,7,8,9} ;
//亂數種子
srand(time(NULL));
while(true){
//交換9次
for(int i=0;i<9;i++){
int r = rand()%9 ;
//交換
int t = a[r] ;
a[r] = a[i];
a[i] = t ;
}
//列的判斷
int a1 = a[0] + a[1] + a[2] ;
int a2 = a[3] + a[4] + a[5] ;
int a3 = a[6] + a[7] + a[8] ;
//行的判斷
int a4 = a[0] + a[3] + a[6] ;
int a5 = a[1] + a[4] + a[7] ;
int a6 = a[2] + a[5] + a[8] ;
//斜的判斷
int a7 = a[0] + a[4] + a[8] ;
int a8 = a[2] + a[4] + a[6] ;
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15){
break;
}
}
cout << a[0] << " " << a[1] << " " << a[2] << endl;
cout << a[3] << " " << a[4] << " " << a[5] << endl;
cout << a[6] << " " << a[7] << " " << a[8] << endl;
system("pause");
return 0;
}
複製代碼
作者:
johnson
時間:
2011-12-31 11:35
public class j102
+ l* \' L& d( C$ ]
{
U! K3 i7 I7 ^$ R- L* W
public static void main(String arg[])
1 J3 U$ H2 }) I0 X
{
0 V# B, E, T6 o3 p8 \ p- y/ O
int num []={1,2,3,4,5,6,7,8,9};
" \1 R! O" w/ x
while(trun)
. a9 m" z9 B; j0 [8 t! e {9 G
{
4 I' H4 ^' S5 s0 ~# A% `7 }
int r=(int)(Math.random()*9)+1;
1 {6 [2 [: v: M" M* L! K
int t=num[i];
2 X2 ~ i5 H, w$ C1 r2 J
num[i]=num[r];
8 {" h& p! u; o% v
num[r]=t;
) |. m, u- Z8 G
int a1 = num[0] + num[1] + num[2] ;
. }& U+ Z& k. a4 b9 {
int a2 = num[3] + num[4] + num[5] ;
$ d+ ~: i3 G' h: }0 H( y3 t, g
int a3 = num[6] + num[7] + num[8] ;
1 I& A, C% k% W& `, W
int a4 = num[0] + num[3] + num[6] ;
* W4 z2 c4 O% f( W. r. V5 ?3 E, @
int a5 = num[1] + num[4] + num[7] ;
1 R% n' v7 a8 p ]3 {
int a6 = num[2] + num[5] + num[8] ;
4 r# w$ O5 g \$ ?3 |
int a7 = num[0] + num[4] + num[8] ;
" o+ B& ^5 _! j4 J9 n
int a8 = num[2] + num[4] + num[6] ;
8 S% D& Z7 C/ l1 `- G1 k
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
, D$ ^* J9 C& A
}break;
5 h; } |9 q, H' W; v: R% D- d4 v" x
}
) a( D& E& W" b/ V5 T; H
}
作者:
kim
時間:
2011-12-31 11:36
#include <iostream>
#include <cstdlib>
using namespace std ;
int main(){
int a[] = {1,2,3,4,5,6,7,8,9} ;
//亂數種子
srand(time(NULL));
while(true){
//交換9次
for(int i=0;i<9;i++){
int r = rand()%9 ;
//交換
int t = a[r] ;
a[r] = a[i];
a[i] = t ;
}
//列的判斷
int a1 = a[0] + a[1] + a[2] ;
int a2 = a[3] + a[4] + a[5] ;
int a3 = a[6] + a[7] + a[8] ;
//行的判斷
int a4 = a[0] + a[3] + a[6] ;
int a5 = a[1] + a[4] + a[7] ;
int a6 = a[2] + a[5] + a[8] ;
//斜的判斷
int a7 = a[0] + a[4] + a[8] ;
int a8 = a[2] + a[4] + a[6] ;
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15){
break;
}
}
cout << a[0] << " " << a[1] << " " << a[2] << endl;
cout << a[3] << " " << a[4] << " " << a[5] << endl;
cout << a[6] << " " << a[7] << " " << a[8] << endl;
system("pause");
return 0;
}
複製代碼
作者:
eric5802
時間:
2011-12-31 11:38
public class j102
5 @# F/ E5 ], u
{
& z/ X0 U1 I/ p- k+ c l1 G# e
public static void main(String arg[])
2 [/ r6 x- _* q1 i; B
{
' a: M% W( c9 Q" h' w9 D
int num []={1,2,3,4,5,6,7,8,9};
/ f% A I2 N' ~6 Q% Y. b) R
while(trun)
+ w" v6 O$ l& H6 Z8 h+ F6 t
{
. D. [0 Y, r, |" x- B7 M% j
int r=(int)(Math.random()*9)+1;
: T8 m# \( M0 [& i+ b" T
int t=num[i];
5 r/ \7 s$ j! Y; N m
num[i]=num[r];
; i c# M( z3 C
num[r]=t;
6 R( U0 w% @. L, Y; Y$ Y
int a1 = num[0] + num[1] + num[2] ;
# ^ [; ~/ s2 k5 l1 J2 f
int a2 = num[3] + num[4] + num[5] ;
: A2 R/ D( Q& q" A/ f- [
int a3 = num[6] + num[7] + num[8] ;
1 ~- J: c0 J/ a* G
int a4 = num[0] + num[3] + num[6] ;
2 ?0 {$ S6 W+ `( n- J
int a5 = num[1] + num[4] + num[7] ;
# K4 r) e. r; f
int a6 = num[2] + num[5] + num[8] ;
* Z/ B) h" z( F
int a7 = num[0] + num[4] + num[8] ;
9 M- k8 z8 m2 k0 m9 s4 d9 P. K
int a8 = num[2] + num[4] + num[6] ;
) |0 C0 J4 g3 k$ D/ K2 B9 p. a: {
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
) B' G5 N/ v2 T, d l6 l% t8 `; {7 @
}break;
7 {& W" j( L5 [" n! P
}
$ c: q- g/ P- E) j* h" |& m
}
作者:
TOM
時間:
2011-12-31 11:49
public class j104
{
public static void main(String[]arg)
{
int num[]={1,2,3,4,5,6,7,8,9};
while(true)
{
for(int i=0;i<9;i++)
{
int r=(int)(Math.random()*9);
int t=num[i];
num[i]=num[r];
num[r]=t;
}
int a1 = num[0]+num[1]+num[2];
int a2 = num[3]+num[4]+num[5];
int a3 = num[6]+num[7]+num[8];
int a4= num[0]+num[3]+num[6];
int a5= num[1]+num[4]+num[7];
int a6= num[2]+num[5]+num[8];
int a7= num[0]+num[4]+num[8];
int a8= num[2]+num[4]+num[6];
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
{
break ;
}
System.out.println("答案為:");
System.out.println(num[0]+" "+num[1]+" "+num[2]);
System.out.println(num[3]+" "+num[4]+" "+num[4]);
System.out.println(num[5]+" "+num[6]+" "+num[7]);
}
}
}
複製代碼
作者:
may
時間:
2011-12-31 12:18
[attach]563[/attach]
作者:
may
時間:
2012-1-4 17:04
[attach]564[/attach]
作者:
lon
時間:
2012-1-4 17:11
[attach]565[/attach]
作者:
may
時間:
2012-1-4 17:24
[attach]566[/attach]
作者:
kim
時間:
2012-4-4 11:44
http://site.istak.org.tw/bbs/att ... 3D&noupdate=yes
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2