`

微软面试问题之中国象棋将帅问题

阅读更多

中国象棋将帅问题

A、B二子被限制在己方3×3的格子(横向与纵向分别有三个可以运动到的位置)里运动。例如,在如上的表格里,A被正方形 {d10,f10,d8,f8}所包围,而B被正方形{d3, f3, d1, f1}包围。每一步,A、B分别可以横向或纵向移动一格,但不能沿对角线移动。另外,A不能面对B,也就是说,A和B不能处于同一纵向直线上(比如A在 d10的位置,那么B就不能在d1,d2以及d3)。

请写出一个能够生成A、B所有可能位置,并且在控制台上打印出来的C程序。要求在代码中只能使用一个变量。

方法一:

 

public void ChessDemo(){
		Byte i=81;
		for(;i>0;i--){
			if(i/9%3==i%9%3)
				continue ;
			System.out.println("A="+(i/9+1)+",B="+(i%9+1)+"\n");
		}
}

 为什么这样能实现呢?不知原理

 

 

我的JAVA方法

public void ChessDemo(){
		for(int i=1;i<=9;i++)
			for(int j=1;j<=9;j++)
				if(i%3!=j%3){
					System.out.println("a= "+i+",b= "+j);
				}
}

 却定义了两个变量。。

 

 

分享到:
评论

相关推荐

    中国象棋将帅问题的算法和实现

    总的来说,解决中国象棋将帅问题的算法和实现涉及到了基础的数据结构、算法设计、面向对象编程以及游戏规则的理解。通过VC++这样的编程工具,我们可以将这些理论知识转化为实际的软件应用,使得玩家可以通过计算机...

    华为oj编美象棋将帅

    在华为的在线编程训练平台OJ(Online Judge)上,有一类高级题目是关于象棋游戏的算法实现,其中“华为oj编美象棋将帅”是一个典型的编程挑战。这个题目要求开发者用Java语言来编写程序,模拟中国象棋中的将(帅)的...

    象棋将帅问题-编程之美

    在本项目中,我们主要探讨的是“象棋将帅问题”,这是编程领域中一个有趣的算法挑战,它结合了中国的传统棋类游戏——象棋的规则与C++编程语言。通过这个项目,我们可以深入理解对象导向编程(OOP)以及如何用高效的...

    Python实战示例游戏源码- 中国象棋.zip

    Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋Python实战游戏源码- 中国象棋...

    JavaScript中国象棋utf8

    JavaScript中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋...

    中国象棋nes.rar

    《中国象棋nes.rar》是一个压缩包,其中包含了一个名为“中国象棋.nes”的文件。这个文件是nes格式,nes是Nintendo Entertainment System(任天堂娱乐系统)的简称,是80年代末到90年代初流行的家用游戏机平台。nes...

    C++实现的中国象棋控件,包括中国象棋 MFC 扩展库,中国象棋 activex 控件 ,中国象棋Qt插件,人工智能引擎等

    C++实现的中国象棋控件,包括中国象棋 MFC 扩展库,中国象棋 activex 控件 ,中国象棋Qt插件,人工智能引擎等 功能 控件 中国象棋库 中国象棋基本规则 棋局保存和复盘 中国象棋 MFC 扩展动态库 中国象棋 ...

    中国象棋(人机对弈)源代码.rar_chess_中国象棋_中国象棋人机_人机对弈_象棋程序

    《中国象棋(人机对弈)源代码》是一个专为爱好者和开发者设计的项目,它结合了传统中国文化与现代计算机技术,实现了人与计算机之间的象棋对决。在这个程序中,用户可以选择与计算机进行对战,并且有搜索层数的选项...

    中国象棋棋子图片, 中国象棋棋盘图片, 两份配套棋子+棋盘(png格式)

    中国象棋,作为中国传统策略棋类游戏的代表之一,具有深厚的文化底蕴和广泛的群众基础。这份资源包含了中国象棋的棋子图片以及棋盘图片,均为PNG格式,适合用于教学、设计、游戏开发等多个场景。PNG是一种无损压缩的...

    中国象棋盘面ai识别算法

    在中国象棋这项源远流长的智力游戏中,利用人工智能(AI)进行盘面识别是一项具有挑战性的技术。本文将深入探讨“中国象棋盘面AI识别算法”的核心技术和实现过程,以及如何通过深度学习方法来提升识别精度。 一、...

    Android自定义中国象棋

    Android自定义中国象棋,原创-------转载注明出处; Android自定义中国象棋,原创-------转载注明出处; Android自定义中国象棋,原创-------转载注明出处; Android自定义中国象棋,原创-------转载注明出处; ...

    python pygame 中国象棋

    中国象棋是一种深受中国人民喜爱的传统策略棋类游戏,规则复杂且富有深度。 在Python Pygame中开发中国象棋,首先需要理解游戏的基本规则和棋子的移动方式。每方有十五个棋子,分为兵(卒)、炮、车、马、象(相)...

    Unity游戏源码unity中国象棋

    ### Unity游戏源码unity中国象棋 #### 一、Unity引擎简介 Unity是一款跨平台的游戏开发工具,由Unity Technologies公司开发。它支持多种编程语言,包括C#、JavaScript(即UnityScript)等,并且能够发布到多个平台...

    java课程设计系列之中国象棋打谱软件.rar

    【Java课程设计系列之中国象棋打谱软件】 在学习编程的过程中,课程设计是一个重要的环节,它能够帮助学生将理论知识应用到实际项目中,提升解决问题的能力。本资源中的"中国象棋打谱软件"就是一个典型的Java课程...

    flash中国象棋游戏

    《深入解析Flash中国象棋游戏开发》 Flash中国象棋游戏是一种基于Adobe Flash技术开发的互动娱乐项目,它充分利用了Flash强大的图形渲染能力和ActionScript编程语言的灵活性,为玩家提供了逼真的象棋对战体验。在...

    咪兔中国象棋助手无广告版

    【标题】:“咪兔中国象棋助手无广告版”指的是一个专门为玩中国象棋的用户提供辅助功能的应用程序,且此版本特别强调没有广告干扰。在中国象棋这种深受人们喜爱的传统棋类游戏中,这类助手通常会包含一系列智能化的...

    小虫象棋,中国象棋软件,AI智能象棋

    小虫象棋是一款专为中国象棋爱好者设计的智能软件,集成了先进的AI(人工智能)算法,使得用户可以与计算机进行高水平的对弈。这款软件不仅提供了标准的中国象棋游戏体验,还具备一定的辅助功能,如自动下棋,帮助...

    局域网内网络版中国象棋

    综上所述,局域网内网络版中国象棋是一款结合了P2P网络技术、TCP/IP协议、棋类游戏逻辑、用户界面设计以及安全性考量的多元素融合之作。通过这样的设计,它为局域网内的玩家提供了一个无需服务器中介、实时互动的...

    python游戏-中国象棋

    python游戏-中国象棋 使用模块如下: import pygame import time import constants from button import Button import pieces import computer class MainGame(): window = None Start_X = constants.Start_X ...

Global site tag (gtag.js) - Google Analytics