public class Step {
public static String reserve(String s) {
if (s == null || s.length() <= 1) {
return s;
}
return reserve(s.substring(1)) + s.charAt(0);
}
static int sum = 0, leg = 0;
static int[] step = new int[10];
final static int s = 10;
public static void compute(final int total) {
if (total < 0) {
return;
}
if (total == 0) {
printSum();
sum++;
return;
}
for (int i = 1; i <= 2; i++) {
step[leg]=i;
leg++;
compute(total - i);
leg--;
}
}
static void printSum() {
System.out.print("走法:");
for (int i = 0; i < leg; i++)
System.out.print(step[i] + " ");
System.out.println();
}
public static void main(String[] args) {
// System.out.println(reserve("wangfei"));
compute(s);
System.out.println("共有" + sum + "种走法");
}
}
递归的例子
最新推荐文章于 2021-05-17 03:07:17 发布