標題:
jva 104 河洛之數
[打印本頁]
作者:
b790113g
時間:
2011-12-31 10:58
標題:
jva 104 河洛之數
1) 矩陣內數字皆不可重複出現
" b6 U+ f# {, J* Q8 D
(2) 程式每次執行,矩陣數字排列皆不相同
9 D1 I7 Y9 Q- q& B6 {
(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
6 g8 M9 c5 v" j" |
{
+ W* s- S6 d& Z5 ]6 c
public static void main(String arg[])
2 ~* _* Z& H- q. c6 C
{
; P" G" r8 ~ M' I
int num []={1,2,3,4,5,6,7,8,9};
: D2 j7 i. x. E0 _8 K! w1 F2 s
while(trun)
: ^# M( D8 e3 v; z! v* i* C& I
{
3 L6 o9 r- }$ v+ V" s) p$ P
int r=(int)(Math.random()*9)+1;
7 G$ a) p& D% n" Q
int t=num[i];
/ v, S* c; L* k$ h) u
num[i]=num[r];
9 k- l9 b* O0 W
num[r]=t;
; E* w) d& }/ |! ^
int a1 = num[0] + num[1] + num[2] ;
0 T/ @ G7 u0 [9 l/ S: c
int a2 = num[3] + num[4] + num[5] ;
7 i7 o7 p6 S" W
int a3 = num[6] + num[7] + num[8] ;
$ t! M$ m1 L3 j2 _5 Z$ c
int a4 = num[0] + num[3] + num[6] ;
2 d+ v( A' _% ^8 H8 C
int a5 = num[1] + num[4] + num[7] ;
2 B( Z- F4 i+ f+ n3 f2 u0 d3 \& C" L. x
int a6 = num[2] + num[5] + num[8] ;
; G( H9 p$ T/ w) \ f* L% ^
int a7 = num[0] + num[4] + num[8] ;
- r$ L0 {* D9 I3 a* b
int a8 = num[2] + num[4] + num[6] ;
1 {3 k0 u" d6 U% O
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
3 P7 C( w# y' ^; h9 g$ S0 K
}break;
7 S, t; e/ Q6 F4 `+ Q0 o
}
) j5 |( G" ?7 ]) z/ G& y
}
作者:
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
4 ~$ f8 G* E2 g( N5 s$ x
{
/ g. _0 r' k6 j7 |9 U) _3 B
public static void main(String arg[])
6 s1 E7 }) W( L# N& j
{
! ~0 ~6 b5 i' O' ]% s0 a
int num []={1,2,3,4,5,6,7,8,9};
# P) s# [* ]0 ], I* d5 L% l
while(trun)
/ D2 x! W, G& {4 Q
{
: a: v2 z8 Z7 y
int r=(int)(Math.random()*9)+1;
" s" v5 V* [8 c: ~; L1 e
int t=num[i];
D' m5 i0 e, g6 x) e
num[i]=num[r];
/ s3 r3 A: h7 v2 B' O) S
num[r]=t;
7 u) s1 K7 S- H0 F! ]" b
int a1 = num[0] + num[1] + num[2] ;
: R( M6 `' u- c7 z9 U& V: |
int a2 = num[3] + num[4] + num[5] ;
& G+ e1 ~- \( L- S- ]
int a3 = num[6] + num[7] + num[8] ;
3 B$ H5 m9 B. ^ n# F8 J
int a4 = num[0] + num[3] + num[6] ;
9 |# H$ T) z2 v f7 d# |
int a5 = num[1] + num[4] + num[7] ;
( _; v- {. h/ \+ { ?' m2 _( d2 z
int a6 = num[2] + num[5] + num[8] ;
0 k, n/ A- U, U
int a7 = num[0] + num[4] + num[8] ;
' x" J' A# l z& b* Y! q! a
int a8 = num[2] + num[4] + num[6] ;
T2 ]( D5 W, I" h8 L% u
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
( L- S. G1 P1 q) T8 D# N
}break;
: W: i- d& v2 Z k; t* p6 K( H
}
5 s0 ~3 W, L% K$ j2 y% }
}
作者:
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