public class SnakeMatrix {
publicstatic void main(String[] args) {
intROW_COUNT = 6;//矩陣行數
for(int i=0;i<ROW_COUNT;i++){
for(intj=0;j<ROW_COUNT;j++){
intk=i+j+1;//k是將矩陣向右旋轉45度之後,排號,k最大有2*ROW_COUNT-1排
if(k>ROW_COUNT){
//k爲奇數
if(k%2==1){
inta=ROW_COUNT*ROW_COUNT-(2*ROW_COUNT-1-k)*(2*ROW_COUNT-k)/2+j+1-ROW_COUNT;
System.out.print(a+"\t");
}else{
inta=ROW_COUNT*ROW_COUNT-(2*ROW_COUNT-1-k)*(2*ROW_COUNT-k)/2+i+1-ROW_COUNT;
System.out.print(a+"\t");
}
}else {
//k爲奇數
if(k%2==1){
inta=k*(k-1)/2+j+1;
System.out.print(a+"\t");
}else{
inta=k*(k-1)/2+i+1;
System.out.print(a+"\t");
}
}
}
System.out.println();
}
}
}
效果:
1 2 6 7 15 16
3 5 8 14 17 26
4 9 13 18 25 27
10 12 19 24 28 33
11 20 23 29 32 34
21 22 30 31 35 36