2011年3月18日
<Java> JVA104-河洛之數
(1) 矩陣內數字皆不可重複出現
(2) 程式每次執行,矩陣數字排列皆不相同
(3) 矩陣之縱向、橫向、對角線數字總和皆為15
================================
這題的解法像在暴力破解...
如果寫演算法出來,需要時間可能很多。
總之能解出來就好
(執行一次 大概do迴圈會跑個3000~300000次)
public class JVA104 {
public static void main(String[] args) {
int a[]={0,1,2,3,4,5,6,7,8,9};
boolean check=false;
int i,j,c1,c2,c3,r1,r2,r3,x1,x2;
do{
for( i=1 ; i<a.length ; i++){
j=(int)(Math.random()*9)+1;
a[0] = a[i];
a[i] = a[j];
a[j] = a[0];
}
c1=a[1]+a[2]+a[3];
c2=a[4]+a[5]+a[6];
c3=a[7]+a[8]+a[9];
r1=a[1]+a[4]+a[7];
r2=a[2]+a[5]+a[8];
r3=a[3]+a[6]+a[9];
x1=a[1]+a[5]+a[9];
x2=a[3]+a[5]+a[7];
if( c1==15 && c2==15 && c3==15 && r1==15 && r2==15 && r3==15
&& x1==15 && x2==15){
check=true;
}
}while(check==false);
System.out.println("答案為:");
System.out.println(a[1] + " " + a[2] + " " + a[3] );
System.out.println(a[4] + " " + a[5] + " " + a[6] );
System.out.println(a[7] + " " + a[8] + " " + a[9] );
System.out.println("不論橫向縱向及對角線加起來的和都是:15");
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言