黑马程序员技术交流社区

标题: 求正整数n所有可能的和式的组合 [打印本页]

作者: 清朗的晨风    时间: 2013-4-19 15:59
标题: 求正整数n所有可能的和式的组合
本帖最后由 清朗的晨风 于 2013-4-25 12:24 编辑

求正整数n所有可能的和式的组合
如:2=1+1;3=1+1+1、3=1+2;4=1+1+1+1、4=1+1+2、4=1+3、4=2+1+1、4=2+2

作者: 先小涛    时间: 2013-4-19 16:08
本帖最后由 先小涛 于 2013-4-19 16:43 编辑
  1. public class Test {
  2.         public static void main(String[] args) {
  3.                 showDetail(50);
  4.         }

  5.         public static void showDetail(int startNum, int remainNum,
  6.                         StringBuffer result) {
  7.                 StringBuffer newReuslt = new StringBuffer(result);
  8.                 if (startNum <= remainNum) {
  9.                         newReuslt.append(startNum).append("+");
  10.                         int newRemainNum = remainNum - startNum;
  11.                         if (newRemainNum > startNum) {
  12.                                 System.out.println(newReuslt.toString() + newRemainNum);
  13.                         }
  14.                         startNum = startNum + 1;
  15.                         showDetail(startNum, newRemainNum, newReuslt);
  16.                         for (int i = startNum + 1; i < remainNum / 2; i++) {
  17.                                 showDetail(i, newRemainNum, new StringBuffer(newReuslt));
  18.                         }
  19.                 }
  20.         }

  21.         public static void showDetail(int num) {
  22.                 for (int i = 1; i < num / 2; i++) {
  23.                         System.out.println("以[" + i + "]开始的结果,如下: ");
  24.                         showDetail(i, num, new StringBuffer());
  25.                 }
  26.         }
  27. }
复制代码

作者: 清朗的晨风    时间: 2013-4-20 13:26
先小涛 发表于 2013-4-19 16:08

能把完整的程序代码给我吗?包括引用什么的。谢谢、
作者: 先小涛    时间: 2013-4-20 13:37
清朗的晨风 发表于 2013-4-20 13:26
能把完整的程序代码给我吗?包括引用什么的。谢谢、

我的程序只能打印部分组合,有些问题,正在研究,暂时还帮不到你,抱歉
作者: 清朗的晨风    时间: 2013-4-20 19:47
先小涛 发表于 2013-4-20 13:37
我的程序只能打印部分组合,有些问题,正在研究,暂时还帮不到你,抱歉 ...

没关系,还是谢谢你。。。
作者: 黄玉昆    时间: 2013-4-21 12:19
如果问题解决了,请将问题分类改为“已解决”,谢谢
作者: 清朗的晨风    时间: 2013-4-21 19:46
黄玉昆 发表于 2013-4-21 12:19
如果问题解决了,请将问题分类改为“已解决”,谢谢

还没有。。。。。那个答案不太对。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2