解释Pascal程序

来源:百度知道 编辑:UC知道 时间:2024/07/04 05:03:37
【回形填数】

Program huixingtianshu(iuput,output);
const d:array[1..4,1..2]of longint=((-1,0),(0,1),(1,0),(0,-1));
var
s:array[0..101,0..101]of longint;
i,j,k,l,m,n,a,b:longint;{l:方向 a:横坐标 b:竖坐标 k:}
begin
readln(n);
for i:=0 to n+1 do
for j:=0 to n+1 do
s[i,j]:=100;
for i:=1 to n do
for j:=1 to n do
s[i,j]:=0;
a:=1;b:=0;l:=2;k:=1;
while k<>n*n+1 do
begin
if s[a+d[l,1],b+d[l,2]]=0 then begin
a:=a+d[l,1];
b:=b+d[l,2];
s[a,b]:=k;
inc(k);
end
else begin
inc(l);
if l=5 then l:=1;

把题目拿出来看看吧……
看这个很累的啊…………

恩……看 【回形填数】 和【蛇形填数】
猜是按照下面的顺序填数
->->->->->
<-<-<-<-<-
->->->->->
<-<-<-<-<-

第二个:
->->->->->
↑->->->↓
↑↑<-<-↓
<-<-<-<-<-