import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 拉丁方阵要求:实现任意阶拉丁矩阵的存储和输出拉丁矩阵是一种规则的数值序列,例如4 阶的拉丁矩阵如下所示:
* 1 2 3 4
* 2 3 4 1
* 3 4 1 2
* 4 1 2 3
*
* @author 够潮
*
*/
public class Demo8 {
/**
* @param args
*/
public static void main(String[] args) {
InputStreamReader rs = new InputStreamReader(System.in);
BufferedReader bs = new BufferedReader(rs);
String tr =null;//保存键盘输入的数
int step = 0 ;//阶数
try {
tr = bs.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while(tr==null || tr.equals("")){
System.out.println("请输入阶数");
try {
tr = bs.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(tr!=null && !tr.equals("")){
step = Integer.parseInt(tr);
}
//int n = 4;
int[][] arr = new int[step][step];
int data; //数值
//循环赋值
for(int row = 0;row < arr.length;row++){
for(int col = 0;col <arr[row].length;col++){
data = row + col + 1;//等于 行号+列号+1
if(data <= step){
arr[row][col] = data;
}
else{
arr[row][col] = data %step;
}
}
}
//输出数组的值
for(int row = 0;row < arr.length;row++){
for(int col = 0;col <arr[row].length;col++){
System.out.print(arr[row][col]);
System.out.print(' ');
}
System.out.println();
}
}
}
分享到:
相关推荐
if(a[i][j]>=1&&a[i][j]) //拉丁方阵每个元素必须为正,且小于方阵长度 { for(m=0;m;m++) //判断元素不等于之前每一个元素 { //如果任意横行有相同元素,便不是拉丁方阵 if(a[i][j]==a[i][m]) ...
构造拉丁方阵的方法很多,这里给出最简单的一种方法。观察给出的例子,可以发现:若将每 一行中第一列的数字和最后一列的数字连起来构成一个环,则该环正好是由1到N顺序构成;对于第i行,这个环的开始数字为i。按照 ...
拉丁方阵【小甲鱼-数据结构-第20讲】 拉丁方阵是一个n*n的方阵,方阵中恰有n种不同的元素,每种元素有n个,并且每种元素在一行一列只出现一次
以下为时间: // (all __int64) to compute the 7 * 7 it took 191.344000 seconds // (all __int64) and find the correct answer = 61479419904000 . // (all __int64) after delete the print for ans % 1000000 ...
拉丁方阵共24页.pdf.zip
java代码-java拉丁方阵
latsq - 拉丁广场M = latsq(N) 创建一个大小为 N×N 的拉丁方格,其中包含从1到N的数字。N应该是一个正整数。 大小为 N 的拉丁方格是一个 N×N 矩阵,其中填充了 N 个不同的以这样的方式使每个数字在每一行中恰好...
最常见的算法的源代码的集合,包括最短路径、最长公共子序列、全排列、拉丁方阵、积水数量、迷宫问题、复杂的整数划分、汉诺塔、二分图、博弈、部分和问题、0-1背包问题、0-1硬币问题、公共子序列等50个算法的源码及...
一类非线性较高的拉丁方阵
全C代码书写的关于方阵相乘的代码,适合刚学习完C语言的人使用~
为了提高图像加密算法的安全性和减少加密中使用的拉丁方数量,提出了一种新的基于完备拉丁方的图像加密算法。通过拉丁方与图像的灰度值矩阵进行异或运算,以提高安全性;再利用完备拉丁方扩展后的矩阵与正交拉丁方对...
实验结果表明,利用辅助矩阵,该算法和劳伯利算法、哈利算法相比,解决了偶数阶魔方阵无法求解的问题,和利用希腊拉丁方阵算法相比,可实现全部偶数阶魔方阵的求解;另一方面,该算法在奇数阶魔方阵求解时具有相同...
数独起源于18世纪初瑞士数学家欧拉等人研究的拉丁方阵(Latin Square)。19世纪80年代,一位美国的退休建筑师格昂斯(Howard Garns)根据这种拉丁方阵发明了一种填数趣味游戏,这就是数独的雏形。20世纪70年代,人们...
1.循环链表的基本操作: 插入、删除、新建、销毁、查找、遍历、逆置、链表拼接、快慢指针查找中间结点; 2.几个经典的链表问题: 约瑟夫环、拉丁方阵、魔术师发牌问题、判断链表是否含有环
生成各种类型的小阶拉丁方阵 LS 和对角拉丁方阵 DLS:LS、DLS、轴对称、双轴对称、中心对称、正交、自正交、自然顺序第一行和第一列、自转置, 结合 这里 LS 排除 DLS,轴对称排除双轴对称。 除关联方格外,所有方格...
拉丁方阵 59.填表格 60.1~9分成1:2:3的三个3位数 <br>C/C++语言经典实用趣味程序设计编程百例精解(7) <br>61.1~9组成三个3位的平方数 62.由8个整数形成奇特的立方体 63.减式还原 64.乘...
拉丁方阵 59.填表格 60.1~9分成1:2:3的三个3位数 <br>C/C++语言经典实用趣味程序设计编程百例精解(7) (详解收藏在)http://www.klfd.net.cn/?p=390 <br>61.1~9组成三个3位的平方数 62.由8个...