由数组a生成数组b的方法描述如下:
1) 将一维整数数组a中的n个元素(n<=300)依次分割出若干个数据块,每个数据块有m×m个元素,m 最大值为8,最小值为2。分割时,按尽可能大的数据块进行分割;
2) 对每个分割出的数据块用“方阵转换法”进行转换,每次转换后得到的数据块依次存储在数据b中;
3) 数组 a 分割后的剩余元素(个数小于4),直接依序存储到数组b中。
例如n=140时,可依次分割出3个数据块,元素的个数分别为64(8×8)、64(8×8)、9(3×3),剩余元素为3个。
“方阵转换法”过程如下:将数据块中m×m个元素按行序排列成一个数字方阵,从该数字方阵中按列序得到转换后元素的次序。以3×3数据块为例,转换过程如下图所示:

第一行是正整数n,表示数据个数。
第二行是n个用空格隔开的正整数(n<=300)。
经过方阵转换后数列,两数间用空格隔开。
可以设置2个变量记录当前未分割数据的第1个元素下标和当前未分割数据的个数