Pascal 八皇后问题
VARs:ARRAY[1..8]OFinteger;a,b,c:ARRAY[-7..16]OFboolean;i,j,k,x:integer;p:boolean;PROC...
VAR
s:ARRAY[1..8] OF integer;
a,b,c:ARRAY[-7..16] OF boolean;
i,j,k,x:integer;
p:boolean;
PROCEDURE print;
BEGIN
FOR k:=1 TO 8 DO
BEGIN
WRITE(' ',s[k]);
a[j]:=true;
b[i-j]:=true;
c[i+j]:=true;
END;
WRITELN;
END;
BEGIN
FOR i:=-7 TO 16 DO
BEGIN
a[i]:=true;
b[i]:=true;
c[i]:=true;
END;
i:=0;
x:=0;
REPEAT
inc(i);
j:=0;
p:=false;
REPEAT
inc(j);
IF (a[j])AND(b[i-j])AND(c[i+j])AND(j<=8) THEN BEGIN
s[i]:=j;
a[j]:=false;
b[i-j]:=false;
c[i+j]:=false;
IF i=8 THEN BEGIN x:=x+1; print; END
ELSE p:=true;
END
ELSE IF j>=8 THEN BEGIN
i:=i-1;
IF i>0 THEN BEGIN
j:=s[i];
a[j]:=true;
b[i-j]:=true;
c[i+j]:=true;
END
ELSE p:=true;
END;
UNTIL p=true;
UNTIL i=0;
WRITELN(x);
READLN;
END.
这个程序为什么在XP SP3(正盗版都一样)中运行会提示错误201(FreePascal V2.0.4)而在XP SP2中可以正常运行?
为什么在XP SP3中装了GUIDE V1.0.0 用GUIDE就可以正常运行?
我们电脑的FreePascal版本都一样啊
为什么GUIDE可以通过?
不是编译不能通过,而是运行时中断 201 展开
s:ARRAY[1..8] OF integer;
a,b,c:ARRAY[-7..16] OF boolean;
i,j,k,x:integer;
p:boolean;
PROCEDURE print;
BEGIN
FOR k:=1 TO 8 DO
BEGIN
WRITE(' ',s[k]);
a[j]:=true;
b[i-j]:=true;
c[i+j]:=true;
END;
WRITELN;
END;
BEGIN
FOR i:=-7 TO 16 DO
BEGIN
a[i]:=true;
b[i]:=true;
c[i]:=true;
END;
i:=0;
x:=0;
REPEAT
inc(i);
j:=0;
p:=false;
REPEAT
inc(j);
IF (a[j])AND(b[i-j])AND(c[i+j])AND(j<=8) THEN BEGIN
s[i]:=j;
a[j]:=false;
b[i-j]:=false;
c[i+j]:=false;
IF i=8 THEN BEGIN x:=x+1; print; END
ELSE p:=true;
END
ELSE IF j>=8 THEN BEGIN
i:=i-1;
IF i>0 THEN BEGIN
j:=s[i];
a[j]:=true;
b[i-j]:=true;
c[i+j]:=true;
END
ELSE p:=true;
END;
UNTIL p=true;
UNTIL i=0;
WRITELN(x);
READLN;
END.
这个程序为什么在XP SP3(正盗版都一样)中运行会提示错误201(FreePascal V2.0.4)而在XP SP2中可以正常运行?
为什么在XP SP3中装了GUIDE V1.0.0 用GUIDE就可以正常运行?
我们电脑的FreePascal版本都一样啊
为什么GUIDE可以通过?
不是编译不能通过,而是运行时中断 201 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询