21 棋子移动2
2020-05-05 本文已影响0人
DONGWEILAI
21 棋子移动2
现在,修罗王和邪狼已经陷入了魔法棋阵中,魔法棋阵有2N个棋子(N≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,例如当N=4时,棋子排列情况为:
〇〇〇〇●●●●
允许每一步将相邻两个棋子交换位置,最后形成黑白相间的排列。只要求出移动步骤即可将修罗王和邪狼抓捕归案。
【输入格式】
一个整数N。
【输出格式】
输出移动步骤。
找规律,然后设计递归
package algorithmclassic.ch02;
import java.util.Scanner;
/**
* @author Dylan
* @date 2020/5/4 - 23:53
*/
public class Q21 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
f(n, n-1);
}
public static void f(int a, int num){
if(num <= 0) return;
int temp = a;
for (int i = 0; i < num; i++) {
System.out.printf("%d <-> %d\n", a, a+1);
a -= 1;
}
f(temp + 1, num - 1);
}
}