java实现 整数拆分 希望有个算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java实现 整数拆分 希望有个算法相关的知识,希望对你有一定的参考价值。

一个整数n(n<=100)可以有多种划分,使其分划得一列整数之和为n.例如:
输入:n=4
要求输入一个整数n,把划分序列输出到文件中。
输出文件result.out,格式内容为:
4
3 1
2 2
2 1 1
1 1 1 1
我做出来了

我给你写一个,要给分的呦。代码如下:

import java.util.ArrayList;
import java.util.List;

public class Testxxx
public void chaifen(int n)
List list = new ArrayList();
chaifendigui(n,list);

public void chaifendigui(int n, List list)
// TODO Auto-generated method stub

for (int i = 1; i <= n; i++)

System.out.print(i+" ");
if(n>i)
List list2 = new ArrayList();
list2.addAll(list);
list2.add(i);
chaifendigui(n-i,list2);
else
System.out.println();
for (int j = 0; j < list.size()-1; j++)
System.out.print(list.get(j)+" ");





public static void main(String[] args)
Testxxx xx = new Testxxx();
xx.chaifen(10);

追问

你做的不符合题意,http://wenku.baidu.com/view/8b989ce19b89680203d82502.html?st=1 这是我自己写的

追答

符不符合不重要,你把分给我就行

参考技术A 递归,内部循环

OVER追问

这是个课程设计题目,这样做太简单了吧 而且题目要求拆分数可等于一百,这样的话,运行很慢十几分钟都运行不完

追答

现在的机器,比你想象的速度快很多。 100以内的,估计10ms ?? 太慢了,我猜1ms以内

以上是关于java实现 整数拆分 希望有个算法的主要内容,如果未能解决你的问题,请参考以下文章

算法基础:整数拆分问题(Golang实现)

Java实现合并排序(归并)详细代码

java JAVA 8中的二进制搜索算法(仅限整数)实现

LeetCode-面试算法经典-Java实现008-String to Integer (atoi) (字符串转成整数)

大整数相乘问题总结以及Java实现

LeetCode算法题-Sqrt(Java实现)