0%

折纸问题

折纸问题,也就是一张纸由下往上对折,它会有一条痕迹,铺开这张纸,痕迹是往下凸的。现在的问题是我们不止折一次,而是折几次,每次都是按照一样的规则,从下往上对折,对折n次,最后铺开纸张,就会有很多条折痕,从上往下依次的折痕方向是怎么样的?用”up”表示向上,”down”表示向下。

代码如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
public static void printAllFolds(int N) {
printProcess(1, N, true);
}

public static void printProcess(int i, int N, boolean down) {
if (i > N) {
return;
}
printProcess(i + 1, N, true);
System.out.println(down ? "down " : "up ");
printProcess(i + 1, N, false);
}