zoukankan      html  css  js  c++  java
  • 八皇后javascript实现

    <script type="text/javascript">
    function QueenArithmetic(size)
    {
    	var Queen =  new Array(10);//每行皇后的位置
    	var y, x, i, j, d, t = 0;
    	y = 0;
    	Queen[0] = -1;
    	while (true)
    	{
    		for (x = Queen[y] + 1; x < size; x++)
    		{
    			for (i = 0; i < y; i++)
    			{
    				j = Queen[i];
    				d = y - i;
    				//检查新皇后是否能与以前的皇后相互攻击
    				if ((j == x) || (j == x - d) || (j == x + d))
    					break;
    			}
    			if (i >= y)
    				break;//不攻击
    		}
    		if (x == size) //没有合适的位置
    		{
    			if (0 == y)
    			{
    				//回朔到了第一行
    				document.write("Over");
    				break; //结束
    			}
    			//回朔
    			Queen[y] = -1;
    			y--;
    		}
    		else
    		{
    			Queen[y] = x;//确定皇后的位置
    			y++;//下一个皇后
    			if (y < size)
    				Queen[y] = -1;
    			else
    			{
    				//所有的皇后都排完了,输出
    				document.write("\n" + ++t + ':'+"<br/>");
    				for (i = 0; i < size; i++)
    				{
    					for (j = 0; j < size; j++)
    						document.write(Queen[i] == j ? 'Q' : '*');
    					document.write("<br/>");
    				}
    				y = size - 1;//回朔
    			}
    		}
    	}
    }
    QueenArithmetic(8);
    </script>
    
  • 相关阅读:
    个人总结
    4号团队-团队任务3:每日立会(2018-12-07)
    4号团队-团队任务3:每日立会(2018-12-06)
    4号团队-团队任务3:每日立会(2018-12-05)
    团队任务3
    课后作业2
    课后作业1
    相识两年的自我介绍
    Android模拟器
    用户
  • 原文地址:https://www.cnblogs.com/muyoushui/p/2212425.html
Copyright © 2011-2022 走看看