標題:
jva 104 河洛之數
[打印本頁]
作者:
b790113g
時間:
2011-12-31 10:58
標題:
jva 104 河洛之數
1) 矩陣內數字皆不可重複出現
! c* i: Y1 A1 m9 u7 A
(2) 程式每次執行,矩陣數字排列皆不相同
# R3 M( _' i0 f" q1 q) K
(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
) p9 j7 G' G; I: B
{
( Z( T: S$ P# x$ f
public static void main(String arg[])
^) y$ z, B/ j- {% m a
{
' \9 S: Q) g, m# m2 c
int num []={1,2,3,4,5,6,7,8,9};
$ L' Y/ C( m0 p
while(trun)
$ o- H c3 q+ S* u
{
4 }3 A* i/ |9 q% V; ?5 F- M" m
int r=(int)(Math.random()*9)+1;
& G5 {0 G& [1 z% F6 J& ]7 R4 f$ ? F
int t=num[i];
( p# m) C% p. ^3 }( s" ]
num[i]=num[r];
- {' U) z& ^9 E1 R4 f
num[r]=t;
0 T8 P2 t" V+ h% A" W, D
int a1 = num[0] + num[1] + num[2] ;
6 S! H8 W% \5 o( d; L9 f N
int a2 = num[3] + num[4] + num[5] ;
' s, i; [2 U/ @, g$ u4 U
int a3 = num[6] + num[7] + num[8] ;
$ B( k2 M. {7 l) ?3 N
int a4 = num[0] + num[3] + num[6] ;
5 m* G0 i' k8 k5 c) f
int a5 = num[1] + num[4] + num[7] ;
* Y) j3 ]0 l, p0 s6 p) R: i" Z
int a6 = num[2] + num[5] + num[8] ;
9 }1 C- v8 s2 D% k+ {2 b
int a7 = num[0] + num[4] + num[8] ;
$ B4 J: u' A, A8 h2 Q8 ?' A. |
int a8 = num[2] + num[4] + num[6] ;
8 P2 z$ g" _( P, u7 a+ j
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
9 P/ O Q7 v, F; C3 o5 o; T
}break;
# n$ J ?7 w" |& o
}
. A5 ?+ V8 a2 s% t6 `& g
}
作者:
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
: z3 n7 S+ L' S$ D3 B+ M
{
( J$ f6 ^0 f* J4 ?
public static void main(String arg[])
! ^, {5 Q: U& h) s
{
( n) X9 o8 ^3 o
int num []={1,2,3,4,5,6,7,8,9};
/ J b( i" r3 h8 L
while(trun)
; I/ Z) U- X3 K1 e* J
{
3 Z" l& z n8 n/ W" u& ~' y
int r=(int)(Math.random()*9)+1;
. B Q. @5 G @6 h6 D8 X% N
int t=num[i];
D* K2 }9 {: _* j! z
num[i]=num[r];
1 I. y E- ~. a2 ]* ?1 J. B. o
num[r]=t;
) L0 Y8 x- F0 H# ~9 Q8 f9 z* s
int a1 = num[0] + num[1] + num[2] ;
$ |; M. F/ ~1 n
int a2 = num[3] + num[4] + num[5] ;
! M6 v/ n8 B6 z, E* g* x( @
int a3 = num[6] + num[7] + num[8] ;
& c' g. }, K! w. A; _4 h
int a4 = num[0] + num[3] + num[6] ;
% g/ F* g1 Z# B1 k }4 n* V" k
int a5 = num[1] + num[4] + num[7] ;
% Y- g: V+ w3 N7 c, x$ m" `9 t
int a6 = num[2] + num[5] + num[8] ;
+ ?8 `0 h9 A& Y1 I* G( J
int a7 = num[0] + num[4] + num[8] ;
. m7 Q( ]6 E8 A
int a8 = num[2] + num[4] + num[6] ;
) w( W; w( K) _
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
# l0 ~1 Z3 C' `: t6 w
}break;
" b; S/ }- O3 ~0 [8 q9 F7 X$ [) U
}
* t( f1 Q: O: J1 ^* M: F
}
作者:
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