(本题60分,要求1占20分,要求2占30分,要求3占10分)
1.   2.有三个白子和三个黑子如下图布置: 
2.
3.
○ ○ ○ ● ● ●
  用最少的步数将上图中白子和黑子的位置进行交换:
●  ● ● ○ ○ ○
  规则是:
  (1)一次只能移动一个棋子; 
  (2)棋子可以向空格中移动,也可以跳过一个对方的棋子进入空格,但不能向后跳,也不能跳过两个子。
  (本题共60分,要求1占30分,要求2占30分)
  要求:
  (1)分析问题,找出规律,总结出规则和算法,并描述你的算法设计思想。
  (2)编程显示每一步交换过程。

解决方案 »

  1.   

    有答案了,可以发我邮箱吗,[email protected]谢谢
      

  2.   

    建模
    000111-->111000
    算法基本这样子
    (x%2==1,+1) or (x/2%2==1,+2) or (x/4%2==1,+4) or (x/4%2==1,+8) 
    细节程序就不写了
      

  3.   

    哦,错了,是这样
    (x%2==1,+1) or (x/2%2==1,+2) or (x/4%2==1,+4) or (x/4%2==1,+8) 
      

  4.   

    完整核心算法
    x/Math.pow(2, i)%2==0 && x/Math.pow(2, i-1)%2==1,+1
    if(i>=3)
    x/Math.pow(2, i-2)%2!=0 && x/Math.pow(2, i-3)%2!=0