【发布时间】:2017-05-04 21:33:23
【问题描述】:
我一直在努力理解下一次递归,代码不是我的,是计算n个数的划分理论的代码,但是它的递归,让我很困惑。谁能解释我它是如何工作的,以便我最终能理解它。谢谢。
package practicingjava;
import java.util.Scanner;
/**
* @author JVASQUEZ
*/
public class PracticingJava {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
partition(n, n, "");
}
public static void partition(int max, int n, String prefix) {
if (n == 0) {
System.out.println(prefix);
}
for (int i = Math.min(max, n); i >= 1; i--) {
partition(i, n - i, prefix + " " + i);
}
}
}
【问题讨论】:
标签: java loops for-loop recursion partition