规律当然是有的:
1、起始点(0,0);
2、向右下方填充;
3a、如先到达底边,则改为向上方填充,到达上边后向右填充一格;
3b、如先到达右边,则改为向左方填充,到达左边后向下填充一格;
4、判断结束条件,也可能是在上面几步中判断(不知你是否没有画完?);
5、如不满足结束条件,回到第2步;
6、结束(可输出结果)。
程序代码:registers=[0 0 0 0 0 0 0 0 0 1];
connections = [1 0 1 0 1 0 0 0 0 1];
len = 3^9-1;
seq = mseq(connections,registers,len);%调用mseq函数生成的一维二进制序列
array = zeros(26, 757);
r = 1;c = 1;
for k = 1:len
array(r,c) = seq(k);
r = r + 1;
c = c + 1;
%如先到达底边,则跳到最上方并且右移一位;
if (mod(r,26) == 1)
r = 1;
end
%如先到达右边,则跳到最左方并且下移一位;
if(mod(c,757) == 1)
c = 1;
end
end