矩阵的一些简单操作

//奇数的魔方矩阵  规则就是行减去1 列加上1  越界的话就是换对应的哪一个   如果找到的位置已经访问过了 那么就放在原始位置的下面
/*
import java.util.Scanner;
public class fibonacci {
	public static void main(String args[]){
		Scanner input=new Scanner(System.in);//作为输入数据的标示
		final int maxl=10000;//这里定义是为了数组的动态输入
		int[][] vis=new int[maxl][maxl];
		int[][] b=new int[maxl][maxl];
		while(true){
			int n = input.nextInt();
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < n; j++) {
					b[i][j] = 0;
					vis[i][j] = 0;
				}
			}
			int i = 0, j = n / 2;
			b[i][j] = 1; vis[i][j] = 1;
			for (int k = 2; k <= n * n; k++) {
				int nx = i, ny = j;
				i++; j--;
				if (i >= n) i = 0;
				if (j < 0) j = n - 1;
				if (vis[i][j] == 1) {
					i = nx + 1;j = ny;
				}
				if (i >= n) i = 0;
				b[i][j] = k;  vis[i][j] = 1;
			}
			for (int x = 0; x < n; x++) {
				for (int y = 0; y < n; y++)
					System.out.print(b[x][y] + " ");
				System.out.println();
			}
		}
	}
}
*/



//内旋矩阵
/*
import java.util.Scanner;
public class fibonacci {
	public static void main(String args[]){
		Scanner input=new Scanner(System.in);//作为输入数据的标示
		final int maxl=10000;//这里定义是为了数组的动态输入
		//int[][] vis=new int[maxl][maxl];
		int[][] b=new int[maxl][maxl];
		while(true){//支持连续输入
	    	int n=input.nextInt();
	    	int cnt=1;
	    	for(int i=0;i<n/2;i++){
		    	for(int j=i;j<n-1-i;j++){
			    	b[i][j]=cnt;cnt++;
		    	}
		    	for(int j=i;j<n-1-i;j++){
			    	b[j][n-1-i]=cnt;cnt++;
		    	}
		    	for(int j=n-1-i;j>i;j--){
		    		b[n-1-i][j]=cnt;cnt++;
	    		}
			    for(int j=n-1-i;j>i;j--){
			    	b[j][i]=cnt;cnt++;
			    }
		    }
	    	if(n%2==1) b[n/2][n/2]=cnt;
	    	for (int i = 0; i < n; i++) {
			    for (int j = 0; j < n; j++) 
				    System.out.print(b[i][j] + " ");
		    	System.out.println();
		    }
		}
	}
}
*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值