我试图解决8个皇后的n-queen问题。我在制作第一个for
循环时遇到麻烦。它告诉我
操作数到||和&&运算符必须可转换为逻辑标量值。 project_4(第12行)出错
if (ya >= 1)&&(ya <= 8)
我不确定这意味着什么或如何解决它。任何建议或帮助将不胜感激。
x1=input('what is the inital x of the queen?');
y1=input('what is the inital y of the queen?');
a1=zeros(8,8);
px=zeros(8);
py=zeros(8);
for k=1:1:8
for h=1:1:8
b1=y1-x1;
ya=h+b1;
if (ya >= 1)&&(ya <= 8)
a1(ya,h)=1;
end
b2=y1+x1;
yb=-h+b2;
if (yb >= 1) && (yb <= 8)
a1(yb,h)=1;
end
a1(y1,h)=1;
a1(h,x1)=1;
px(k)=x1;
py(k)=y1;
end
[t,y]=find(a1==0, 1, 'first');
x1=t;
y1=y;
end
答案 0 :(得分:0)
第[t,y]=find(a1==0, 1, 'first');
行返回空值,因为没有a1 == 0
的值。