象棋排斥问题


象棋中,双方的将和帅不能在一条直线上,只能用单纯一个变量,对象不可以,要求找出所有这些可能的位置?

c 算法

★╰つ╭ゝ後 12 years ago

将和帅都只能在9个位置上移动,只需要循环判断9个格子是否符合条件即可:
活动范围示意图:
请输入图片描述
js版本(因为不可以用对象,修改代码如下):

   
  var i = 0;
  
for(; i < 81; i++) {
if(parseInt(i / 9) % 3 == (i % 9) % 3) continue;
alert("A=" + (parseInt(i / 9) + 1) + ", B=" + ((i % 9) + 1));
}

tokidai answered 12 years ago

Your Answer