A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 清朗的晨风 中级黑马   /  2013-4-19 15:59  /  1706 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 清朗的晨风 于 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

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

6 个回复

正序浏览
黄玉昆 发表于 2013-4-21 12:19
如果问题解决了,请将问题分类改为“已解决”,谢谢

还没有。。。。。那个答案不太对。。。
回复 使用道具 举报
如果问题解决了,请将问题分类改为“已解决”,谢谢
回复 使用道具 举报
先小涛 发表于 2013-4-20 13:37
我的程序只能打印部分组合,有些问题,正在研究,暂时还帮不到你,抱歉 ...

没关系,还是谢谢你。。。
回复 使用道具 举报
清朗的晨风 发表于 2013-4-20 13:26
能把完整的程序代码给我吗?包括引用什么的。谢谢、

我的程序只能打印部分组合,有些问题,正在研究,暂时还帮不到你,抱歉
回复 使用道具 举报
先小涛 发表于 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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马