谁可以用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
展开
 我来答
mzocean
2010-09-03 · TA获得超过1083个赞
知道小有建树答主
回答量:492
采纳率:33%
帮助的人:472万
展开全部
上面的程序错了
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();
}
}
}
shiva1981
2010-09-03 · TA获得超过773个赞
知道小有建树答主
回答量:638
采纳率:0%
帮助的人:760万
展开全部
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++;
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rekcah19863b84
2010-09-03 · TA获得超过452个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:235万
展开全部
给点分吧哥们
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式