谁可以用JAVA程序来编写这个题目啊?急啊。。。 “当=4,输出方阵1 2 6 7 3 5 8 13 4 9 12 14 10 11 15 16
谁可以用JAVA程序来编写这个题目啊?急啊。“当n=4,输出如下方阵12673581349121410111516...
谁可以用JAVA程序来编写这个题目啊?急啊。“当n=4,输出如下方阵1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16 展开
3 5 8 13
4 9 12 14
10 11 15 16 展开
3个回答
展开全部
上面的程序错了
public class T{
public static void main(String[] args){
int n=4;//可以修改
int n2=n*n;
int[][] arr=new int[n][n];
for(int i=0;i<n;i++){
if(i%2==0)arr[0][i]=(i+1)*(i+2)/2;
else arr[0][i]=arr[0][i-1]+1;
}
for(int i=1;i<n;i++){
int num=arr[0][i];
if(i%2!=0)
for(int j=1;j<=i;j++){
arr[j][i-j]=++num;
}
else for(int j=1;j<=i;j++){
arr[j][i-j]=--num;
}
}
for(int i=0;i<n-1;i++){
int num=n2+1-arr[0][i];
arr[n-1][n-i-1]=num;
if(i%2==0)
for(int j=1;j<i+1;j++){
arr[n-j-1][n-i-1+j]=++num;
}
else for(int j=1;j<i+1;j++){
arr[n-j-1][n-i-1+j]=--num;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
System.out.print(arr[i][j]+"\t");
System.out.println();
}
}
}
public class T{
public static void main(String[] args){
int n=4;//可以修改
int n2=n*n;
int[][] arr=new int[n][n];
for(int i=0;i<n;i++){
if(i%2==0)arr[0][i]=(i+1)*(i+2)/2;
else arr[0][i]=arr[0][i-1]+1;
}
for(int i=1;i<n;i++){
int num=arr[0][i];
if(i%2!=0)
for(int j=1;j<=i;j++){
arr[j][i-j]=++num;
}
else for(int j=1;j<=i;j++){
arr[j][i-j]=--num;
}
}
for(int i=0;i<n-1;i++){
int num=n2+1-arr[0][i];
arr[n-1][n-i-1]=num;
if(i%2==0)
for(int j=1;j<i+1;j++){
arr[n-j-1][n-i-1+j]=++num;
}
else for(int j=1;j<i+1;j++){
arr[n-j-1][n-i-1+j]=--num;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
System.out.print(arr[i][j]+"\t");
System.out.println();
}
}
}
展开全部
int n=4;
int[][] matrix = new int[n][n];
int num = 1;
for (int i=2;i<n*2;i++){
int count = n - Math.abs(n - i) - 1;
if (i % 2 == 0){
for (int j=count;j>=1;j--){
if (i>n){
matrix[n-j+1][i-n+j-1] = num++;
}else{
matrix[j][i-j] = num++;
}
}
}else{
for (int j=1;j<=count;j++){
if (i>n){
matrix[n-j+1][i-n+j-1] = num++;
}else{
matrix[j][i-j] = num++;
}
}
}
}
int[][] matrix = new int[n][n];
int num = 1;
for (int i=2;i<n*2;i++){
int count = n - Math.abs(n - i) - 1;
if (i % 2 == 0){
for (int j=count;j>=1;j--){
if (i>n){
matrix[n-j+1][i-n+j-1] = num++;
}else{
matrix[j][i-j] = num++;
}
}
}else{
for (int j=1;j<=count;j++){
if (i>n){
matrix[n-j+1][i-n+j-1] = num++;
}else{
matrix[j][i-j] = num++;
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给点分吧哥们
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询