官网上下载的看到题目思路很乱,不知该从何下手,求高人指点思路9.代码设计(满分18分)整数的分划问题。
如,对于正整数n=6,可以分划为:
6
5+1
4+2, 4+1+1
3+3, 3+2+1, 3+1+1+1
2+2+2, 2+2+1+1, 2+1+1+1+1
1+1+1+1+1+1+1
现在的问题是,对于给定的正整数n,编写算法打印所有划分。
用户从键盘输入 n (范围1~10)
程序输出该整数的所有划分。
解决方案 »
- 请问如何在子线程中notify父线程
- 0000-00-00 00:00:00问题
- SOS!!!基于服务器中转的语音聊天问题
- 关于java中实现多个接口的问题
- ~使用Log4J时的笔记,大家共同学习~
- 为什么同样的Java程序在linux下运行要比windows慢那么多?
- 把一个字符串中所有的"\"都替换成"/" 该怎么解决?
- 求助!!高手来!!急~~~
- 怎样让一个Swing的窗体内部的组件例如一个文本框随着主窗体尺寸的变化而成比例的变化?
- 在局域网内如何与外网建Socket?
- In JAVA,class function 和 instance function 有什么区别?
- 使用axis调用webservice,String[]参数怎么传
run(6);
} public static void run(int n) {
ArrayList<Integer> al = new ArrayList<Integer>();
p(n, al, n);
} private static void p(int n, List<Integer> al, int size) {
if (n == 0) {
for (Integer i : al)
System.out.print(i + " ");
System.out.println();
} else if (n < 0) {
return;
} else {
int num = al.size();
for (int i = 1; i <= size; i++) {
al.add(i);
p(n - i, al, size);
al = al.subList(0, num);
}
}
}