標題:
jva 104 河洛之數
[打印本頁]
作者:
b790113g
時間:
2011-12-31 10:58
標題:
jva 104 河洛之數
1) 矩陣內數字皆不可重複出現
0 f# V& `2 W3 {+ V3 A
(2) 程式每次執行,矩陣數字排列皆不相同
, T+ a- K4 J! t( O' m
(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
. Y$ x$ j* j8 o6 r6 f; V! Z: v
{
/ U n2 V5 W) y! x# T
public static void main(String arg[])
+ S; h5 E0 s# U: ^6 ]; h" ]7 p
{
6 ~# B! i& e; I3 Q: @
int num []={1,2,3,4,5,6,7,8,9};
' T) Y4 \4 x) k& D$ L2 d& |1 \) V
while(trun)
; `, o7 W8 p d* P- Y
{
! P. G; x3 V" M( v/ b
int r=(int)(Math.random()*9)+1;
( k: U0 V+ U; J3 z
int t=num[i];
" w& r) p1 c1 @0 x7 b( ~, h2 W
num[i]=num[r];
- ^9 z9 ^/ i, R9 {3 ^) u
num[r]=t;
w- v5 p, c6 z5 d" f
int a1 = num[0] + num[1] + num[2] ;
; e+ v" S" w9 M3 V: v# `- d* X- }
int a2 = num[3] + num[4] + num[5] ;
2 d& V" @9 C' n# ~" K3 b, t) d
int a3 = num[6] + num[7] + num[8] ;
! ]. c3 b2 [& u
int a4 = num[0] + num[3] + num[6] ;
3 r& U7 v' c8 r# q2 W& b) R
int a5 = num[1] + num[4] + num[7] ;
4 n$ A( t2 t9 B) m$ A, U
int a6 = num[2] + num[5] + num[8] ;
% Q* `; O) A2 W9 j- w
int a7 = num[0] + num[4] + num[8] ;
) j- B* b3 @) m5 i- ^0 n
int a8 = num[2] + num[4] + num[6] ;
# w7 a8 n% p I0 c
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
, y6 }8 G6 [6 T3 ?4 {2 C& R% c' ?
}break;
5 a2 }0 _' Z0 M2 a# j/ Z! `6 C
}
( W2 u- ^7 R8 z) `( K) ]$ _4 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
( k8 @( A* f( k( f5 \: g) s
{
4 |9 W% ? K1 e2 O' b
public static void main(String arg[])
; Z# r$ E- s- h
{
4 T+ s0 h4 c0 [
int num []={1,2,3,4,5,6,7,8,9};
- A' R; I: N. I' W+ L. f' }0 a
while(trun)
2 d' Q1 O3 i, i2 ?7 o f' n/ W. H
{
1 ]+ V9 c# c! i" T a. s
int r=(int)(Math.random()*9)+1;
, A; y% o7 M% d; |% k/ t8 v2 g
int t=num[i];
5 Q6 `) J$ o0 o7 M7 |* q( j
num[i]=num[r];
' E+ h, l; }" ]8 ?, s- w& @7 z
num[r]=t;
; L4 R- |; P+ b* L3 ~3 ]
int a1 = num[0] + num[1] + num[2] ;
6 h+ i8 I& {) Y# o% y" G
int a2 = num[3] + num[4] + num[5] ;
) m5 H& k. |) g# R( ^" u4 I. e
int a3 = num[6] + num[7] + num[8] ;
5 S9 G# V& ]# D- I
int a4 = num[0] + num[3] + num[6] ;
% @4 O' I1 |/ c7 c: B4 d+ M5 y. E1 ^
int a5 = num[1] + num[4] + num[7] ;
3 \$ x5 R4 D) A3 w# |1 {1 t2 @1 ?5 N
int a6 = num[2] + num[5] + num[8] ;
) v' I |6 j+ c1 e1 @% M Q
int a7 = num[0] + num[4] + num[8] ;
7 j- ~6 F) I' A1 h+ N
int a8 = num[2] + num[4] + num[6] ;
2 Z) l1 ]) U# ?/ t
if(a1==15&&a2==15&&a3==15&&a4==15&&a5==15&&a6==15&&a7==15&&a8==15)
6 U. J* `. A5 s( b& Q. Q" I
}break;
0 D9 m" q& V8 e. k8 L* h7 v
}
5 `# q( u- H' \) I* y8 r" q/ c
}
作者:
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